通过前面的学习我们知道,在数组中搜索一个指定的键值是否存在,可以使用《in_array() 函数》,在 PHP 中还有另外一个函数与 in_array() 函数功能相似但返回值有点不同的函数——array_search() 函数。
array_search() 函数可以在数组中搜索给定的值,如果成功则返回首个相应的键名,该函数的语法格式如下:
参数说明如下:
array_search() 函数如果找到了 $needle 则返回它的键,否则返回 False。
如果 $needle 在 $haystack 中出现不止一次,则仅会返回第一个匹配的键。若要返回所有匹配值的键,应该用 array_keys() 函数来代替。
【示例】使用 array_search() 函数搜索数组中的键名。
<?php
$array = array(
'name' => '城东书院',
'url' => 'http://www.cdsy.xyz/computer/programme/PHP/',
'title' => 'PHP教程',
'pid' => 1111,
'level' => 1111,
'info' => array(
'id' => 1234,
'article' => 'array_search() 函数'
)
);
echo '<pre>';
var_dump(array_search('1234', $array));
var_dump(array_search('PHP教程', $array));
var_dump(array_search('1111', $array, true));
var_dump(array_search(1111, $array, true));
?>
运行结果如下:
通过运行结果可以看出,array_search() 函数同样仅适用于一维数组,对于多维数组中第一维度以外的维度则不适用。