在 PHP 中获取数组中某个值的索引
我有一个数组:
$list = array('string1', 'string2', 'string3');
我想获取给定值的索引(即 for 和 for1
string2
2
string3
)
我想要的只是字符串在数组中的位置
- 字符串 1 为 0
- 字符串 2 为 1
- 字符串 3 为 2
如何做到这一点?
我有一个数组:
$list = array('string1', 'string2', 'string3');
我想获取给定值的索引(即 for 和 for1
string2
2
string3
)
我想要的只是字符串在数组中的位置
如何做到这一点?
array_search
是做到这一点的方法。
array_search ( mixed $needle , array $haystack [, bool $strict = FALSE ] ) : mixed
从文档中:
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array); // $key = 1;
您可以手动遍历数组并找到索引,但是当有函数可用时,为什么要这样做。此函数始终返回一个键,它将与关联数组和普通数组很好地配合使用。
如果您只执行其中的几个(和/或数组大小很大),那么您在正确的轨道上array_search:
$list = array('string1', 'string2', 'string3');
$k = array_search('string2', $list); //$k = 1;
如果你想要全部(或很多),循环会更好地帮助你:
foreach ($list as $key => $value) {
echo $value . " in " . $key . ", ";
}
// Prints "string1 in 0, string2 in 1, string3 in 2, "