如何获取数组中键的位置

2022-08-30 11:37:29

好吧,所以我需要抓住这个数组中“blah”的位置(位置并不总是一样的)。例如:

$array = (
    'a' => $some_content,
    'b' => $more_content,
    'c' => array($content),
    'blah' => array($stuff),
    'd' => $info,
    'e' => $more_info,
);

因此,我希望能够返回数组中“blah”键所在的位置。在这种情况下,它应该返回 3。我怎样才能快速完成此操作?而且完全不影响$array阵列。


答案 1
$i = array_search('blah', array_keys($array));

答案 2

如果您知道该密钥存在:

PHP 5.4 (演示版):

echo array_flip(array_keys($array))['blah'];

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_searcharray_search