项目的php索引
Posted
技术标签:
【中文标题】项目的php索引【英文标题】:php index of item 【发布时间】:2011-08-28 03:53:59 【问题描述】:我有一个如下所示的数组:
$fruit = array('apple','orange','grape');
如何在上述数组中找到特定项目的索引? (例如,值“橙色”)
【问题讨论】:
【参考方案1】:试试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');
?>
这是因为==
运算符检查平等(通过类型杂耍),而===
运算符检查身份。
【讨论】:
我认为执行 if(in_array(.bit 应该可以保护我免受您在“小心”之后提到的问题的影响 代码有一个小错误,没有指定数组。应该是array_search('blue', $array)
。【参考方案2】:
你必须使用 array_search。
看这里http://www.php.net/manual/en/function.array-search.php
【讨论】:
返回值 如果在数组中找到 needle 则返回 TRUE,否则返回 FALSE。【参考方案3】:请记住,如果您认为可以多次找到您的搜索项,则应使用array_keys(),因为它将返回所有匹配值的键,而不仅仅是第一个匹配键array_search()。
问候。
【讨论】:
以上是关于项目的php索引的主要内容,如果未能解决你的问题,请参考以下文章