У меня есть ассоциативный массив в PHP:
$num = array(0=>1, 1=>1, 2=>1, 3=>0);
Мне нужно показать число в ключе, если значение равно нулю.
В этом примере результатом будет только номер 3.
Это должно работать для вас:
<?php
$num = array(0=>1, 1=>1, 2=>1, 3=>0);
foreach($num as $k => $v) {
if($v == 0)
echo $k;
}
?>
Ты можешь использовать array_search()
в этом случае:
array_search — Выполняет поиск в массиве заданного значения и возвращает соответствующий ключ в случае успеха
$num = array(0=>1, 1=>1, 2=>1, 3=>0);
$key = array_search(0, $num);
echo $key;
К вашему сведению: это не ассоциативный массив.
Если вы хотите получить множественные вхождения нулей, используйте array_keys()
вместо:
$num = array(0=>1, 1=>1, 2=>1, 3=>0, 4=>0);
$key = array_keys($num, 0);
print_r($key); // Array ( [0] => 3 [1] => 4 )