在多维数组中搜索特定值

3

我希望你能帮助我,

这里有一个反映实际情况的示例数组:

$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来检索key,希望能够得到key,但它无法工作,那么当我想要检索苹果颜色时,应该如何编码?
PS:由于大数据性能问题,我试图避免循环。
3个回答

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

任何可能性都没有循环(我已经避免了)。 - Dels
很抱歉拼写错误,第一行应该说“循环遍历数组”。 - PiX06

1
尝试按照以下方式更改您的表格:

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

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

?>

应该很简单 :)

目前不可能,上述数据仅为实际使用的示例。 - Dels
1
很抱歉,您必须使用 PiX06 示例中的循环 :( - Adam

1
检查一下 -
foreach ($a as &$arr){
if (array_search('apple',$arr)!==false){
  echo $arr['color'];
 }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接