Ответ 1
echo array_search("car",array_keys($a));
У меня есть ассоциативный массив, и мне нужно найти числовое положение ключа. Я мог бы перебрать массив вручную, чтобы найти его, но есть ли лучший способ встраивания в 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)));
решение, которое я придумал... возможно, довольно неэффективно в сравнении с решением Fosco:
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++;
}
}
}