📅  最后修改于: 2023-12-03 15:38:07.365000             🧑  作者: Mango
在 PHP 中,查找数组中元素的索引是一项常见的任务。可以使用内置函数 array_search()
和 array_keys()
来实现这一目标。
array_search()
函数返回数组中特定值的键名,如果没有找到该值,返回 false
。
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array); // $key = 2
$key = array_search('yellow', $array); // $key = false
如果想要获取多个匹配项的键名,可以将 array_search()
放在循环中。
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$matches = array();
foreach ($array as $key => $value) {
if ($value === 'red') {
$matches[] = $key;
}
}
print_r($matches); // 输出 Array ( [0] => 1 [1] => 3 )
array_keys()
函数返回数组的键名,可以通过设置第二个参数来指定要查找的值。
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$keys = array_keys($array, 'red'); // $keys = Array ( [0] => 1 [1] => 3 )
如果没有设置第二个参数,则 array_keys()
返回整个数组的键名。
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$keys = array_keys($array); // $keys = Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 )
如果想要查找多个值的键名,可以将 array_keys()
放在循环中。
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$matches = array();
foreach (array('red', 'green') as $value) {
$matches = array_merge($matches, array_keys($array, $value));
}
print_r($matches); // 输出 Array ( [0] => 1 [1] => 3 [2] => 2 )
以上是使用 PHP 查找数组中元素的索引的两种方法,希望对你有所帮助!