Поиск определенного значения в многомерном массиве

Мне нужна помощь,

Вот пример массива, который отражает реальный случай:

$a = array (
 array('fruit' => 'banana', 'color' => 'yellow'),
 array('fruit' => 'apple', 'color' => 'red'),
 array('fruit' => 'melon', 'color' => 'green')
);
$key = array_search('apple', $a, true);
echo $a[$key]['color'];

Я уже пытался извлечь ключ, используя array_search, в надежде, что я могу получить ключ, но он не может работать, поэтому как я должен код, когда хочу получить цвет яблока?

PS: Я пытался избежать цикла, из-за производительности в больших данных

3 ответа

// loop throgh array
 foreach ($a as $item){
 if ($item['fruit'] === 'apple'){
 echo $item['color'];
 }
 }


попробуйте изменить таблицу следующим образом:

<!--?php
$a = array ( 
 'banana' =--> array('color' => 'yellow'),
 'apple' => array('color' => 'red'),
 'melon' => array('color' => 'green'),
);
echo $a['banana']['color'];
?>

Должно быть просто:)


Проверьте это -

foreach ($a as &$arr){
if (array_search('apple',$arr)!==false){
 echo $arr['color'];
 }
}

licensed under cc by-sa 3.0 with attribution.