php索引项

mcg*_*ilm 40 php arrays indexing

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

$fruit = array('apple','orange','grape');
Run Code Online (Sandbox Code Playgroud)

如何在上面的数组中找到特定项的索引?(例如,值'orange')

Tuf*_*rım 73

尝试使用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;
?>
Run Code Online (Sandbox Code Playgroud)

提醒一句

比较结果时,请确保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');
    }
?>
Run Code Online (Sandbox Code Playgroud)

这是因为==操作员在检查身份时检查是否相等(通过类型 - 玩杂耍).===


小智 5

请记住,如果您认为您的搜索项可以被多次找到,您应该使用array_keys()因为它将返回所有匹配值的键,而不仅仅是第一个匹配键作为array_search()

问候。