在php中,数组实质上是由键值对构成的一个集合体,因此关于键和值的操作尤其重要,为了方便操作键和值,可以使用相关的键值对函数。
array_search()函数用于获取数组中对应的键名,其声明格式如下
mixed array_search(mixed $needle,array $haystack[,bool $strict]);
$needle在数表示在数组要查找的值,$haystack参数表示被查询的数组,$strict是可选参数,当只为true时,就会在$haystack数组中检查$needle的类型
案例
<?php
$array=array(
0=>"blue",
1=>"red",
2=>"green",
3=>"red",
);
echo "red对应的键为".array_search('red',$array);
?>
运行结果
需要注意的是,当被查询元素在数组中出现两次以上时,那么,array_search函数返回的是第一个匹配的键名
array_keys()函数用于获取数组中元素对应的键名,不同的是,array_keys()函数可以返回所有匹配的键名,其声明格式如下:
array array_keys(array $input[,mixed $search_value [,bool $strict]]);
$input参数表示被查询的数组,$serch_value参数是可选参数,当给$search_value赋值时,该函数返回该值的键名,否则返回$input数组中的所有键名,可以有$strict参数来进行全等(===)比较,需要传入一个布尔值,默认为false,如果传入true值根据类型返回带有指定键名。
案例
<?php
$arr=array(
"id"=>"1",
"name"=>"张三",
"add"=>"地球"
);
print_r(array_keys($arr)); //获取元素中所有键名
echo "<br>";
print_r(array_keys($arr,"张三")); //获取元素中张三对应的键名
echo '<br>';
$arr1=array(12,32,11,"12");
print_r(array_keys($arr1,"12",false)); //获取元12(不依赖类型)
echo "<br>";
print_r(array_keys($arr1,"12",true)); //获取字符串类型的元素12
?>
运行结果
array_keys()函数可以根据传入的参数,返回不同的键名,当传入的参数是一个数组时,则返回所有的键。当传入一个指定数组中某个元素时,则返回该元素对应的键。
*声明:内容来源于网络收集和整理,版权归原著所有,如来源信息有误或侵犯权益,请联系站长作修改和删除处理。