Как выбрать ключи из массива в PHP, которые равны некоторому определенному значению?

например, если у меня есть следующий массив:

$numbers=array(
"A"=>$value1,
"B"=>$value2,
"C"=>$value3,
"D"=>$value4,
"E"=>$value5,
"F"=>$value6,
"G"=>$value7,
);

и если некоторые переменные значения равны 0, а остальные равны 1, как я могу выбрать ключи, значения которых равны, например, 0?

0

Решение

$result = [];

foreach($numbers as $id => $number) {

if($number ==0)
$result[$id] = $number;

}
0

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

Попробуй это:

$all_zeros = array_filter($numbers);
$all_ones = array_diff($numbers, $all_zeros);

Также вы можете использовать пользовательскую функцию фильтра, как показано ниже:

function custom_filter($numbers, $targetValue) {
return array_filter($numbers, function ($i) use ($targetValue) {
return $targetValue == $i;
});
}

Ref:

  1. array_filter
  2. array_intersect
  3. PHP анонимная функция
1

По вопросам рекламы [email protected]