通过其值查找ARRAY

时间:2016-08-14 15:51:09

标签: php arrays

我有一个像这样的多维数组:

$a = array(
  'potatoe'=> array(
      'weight'=>24,
      'label'=>'kon',
      'year'=>2001,

   ),

  'apple'=> array(
      'weight'=>55,
      'label'=>'krakat',
      'year'=>1992,
   )
);

当我只知道体重是55而年份是1992时,我正在寻找一种搜索水果名称(及其值)的方法。怎么做?

2 个答案:

答案 0 :(得分:1)

这样的事可能

foreach ($a as $key => $value) {
    if ($value['weight'] == 55 && $value['year'] == 1992) {
        echo $key;
    }
}

输出

apple

答案 1 :(得分:0)

你必须使用foreach迭代它并测试每个元素。

function findFruit($array,$weight, $year){
    foreach($array as $key => $fruit){
        if($fruit['weight'] == $weight && $fruit['year'] == $year ){
            return $key;
        }
    }
}

然后,只需使用函数:

$theFruit = $a[findFruit($a,55,1992)];