как посмотреть, равен ли ключ ассоциативного массива нулю?

У меня есть ассоциативный массив в PHP:

$num = array(0=>1, 1=>1, 2=>1, 3=>0);

Мне нужно показать число в ключе, если значение равно нулю.

В этом примере результатом будет только номер 3.

1

Решение

Это должно работать для вас:

<?php

$num = array(0=>1, 1=>1, 2=>1, 3=>0);

foreach($num as $k => $v) {

if($v == 0)
echo $k;

}

?>
1

Другие решения

Ты можешь использовать 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 )
2

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector