好的,所以我需要在这个数组中抓住'blah'的位置(位置不会总是一样)。例如:
$array = (
'a' => $some_content,
'b' => $more_content,
'c' => array($content),
'blah' => array($stuff),
'd' => $info,
'e' => $more_info,
);
所以,我希望能够返回'blah'键位于数组中的位置。在这种情况下,它应该返回3.我怎么能快速做到这一点?而且不会影响$ array数组。
答案 0 :(得分:83)
$i = array_search('blah', array_keys($array));
答案 1 :(得分:5)
如果您知道密钥存在:
PHP 5.4(Demo):
echo array_flip(array_keys($array))['blah'];
PHP 5.3:
$keys = array_flip(array_keys($array));
echo $keys['blah'];
如果您不知道密钥存在,可以查看isset
:
$keys = array_flip(array_keys($array));
echo isset($keys['blah']) ? $keys['blah'] : 'not found' ;
这仅仅是array_search
,但是使用了已存在于任何数组中的地图。我不能说它是否真的比array_search
更好,这可能取决于场景,所以只是另一种选择。
答案 2 :(得分:0)
$keys=array_keys($array);
会为您提供一个包含$array
因此,array_search('blah', $keys);
会在blah
中为您提供$keys
的索引,因此$array
答案 3 :(得分:-3)
用户array_search
(doc)。即,$ $ index = array_search('blah',$ array)