项的 PHP 索引


php index of item

我有一个看起来像这样的数组:

$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