php – 获取关联数组的数字索引
我有一个关联数组,我需要find一个键的数字位置。 我可以通过手动循环查找数组,但有没有更好的方式构build到PHP?
$a = array( 'blue' => 'nice', 'car' => 'fast', 'number' => 'none' ); // echo (find numeric index of $a['car']); // output: 1
echo array_search("car",array_keys($a));
$blue_keys = array_search("blue", array_keys($a));
function arrayValuePosition($value, $array) { return array_search($value, array_keys($array)); }
$a = array( 'blue' => 'nice', 'car' => 'fast', 'number' => 'none' ); var_dump(array_search('car', array_keys($a))); var_dump(array_search('blue', array_keys($a))); var_dump(array_search('number', array_keys($a)));
$a = array( 'blue' => 'nice', 'car' => 'fast', 'number' => 'none' ); var_dump(array_search('car', array_keys($a))); var_dump(array_search('blue', array_keys($a))); var_dump(array_search('number', array_keys($a)));
我想出了一个解决scheme…与Fosco的解决scheme相比可能效率很低:
protected function getFirstPosition(array$array, $content, $key = true) { $index = 0; if ($key) { foreach ($array as $key => $value) { if ($key == $content) { return $index; } $index++; } } else { foreach ($array as $key => $value) { if ($value == $content) { return $index; } $index++; } } }