我有一个看起来像这样的数组:
$fruit = array('apple','orange','grape');
如何在上面的数组中找到特定项目的索引?(例如,值"橙色")
尝试array_search函数。
从手册中的第一个示例:
<?php $array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red'); $key = array_search('green', $array); // $key = 2; $key = array_search('red', $array); // $key = 1; ?>
一句警告
比较结果时,请确保使用 ===
运算符显式测试值false
。
由于 PHP 中的数组是从 0 开始的,因此如果您要搜索的元素是数组中的第一个元素,则将返回值 0。
虽然 0 是有效结果,但它也是一个错误值,这意味着以下内容将失败:
<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('blue',$array);
if($key == false) {
throw new Exception('Element not found');
}
?>
这是因为==
运算符检查相等性(通过类型杂耍),而===
运算符检查标识。
请记住
,如果您认为可以多次找到搜索项,则应使用 array_keys(),因为它将返回所有匹配值的键,而不仅仅是第一个匹配键作为 array_search()。
问候。
你必须使用array_search。
看这里 http://www.php.net/manual/en/function.array-search.php