在多维数组中搜索特定值

时间:2013-09-25 11:28:09

标签: php multidimensional-array

我需要一些帮助,

这是一个反映现实案例的示例数组:

$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 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

尝试像这样更改你的表:

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

echo $a['banana']['color'];

?>

应该很简单:)

答案 2 :(得分:1)

检查出来 -

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