【问题标题】:Search for value in array of associative arrays using php [duplicate]使用php在关联数组的数组中搜索值[重复]
【发布时间】:2019-02-26 14:11:44
【问题描述】:

如何找到包含moo == 'gyu'的数组?

$arr = [
  ['moo' => 'abc', 'foo' => 1], ['moo' => 'gyu', 'foo' => 2] ...
]

我知道应该已经回答了,但不幸的是我找不到示例。

谢谢。

【问题讨论】:

  • 是否需要同时匹配数组的键和值?
  • @Varun.Kumar 我需要成对找到一个数组key=='moo' , value==$something
  • @AmiraBedhiafi 这似乎一点也不相似。他知道密钥是-moo
  • 如果你确定这个值,那么你可以参考这个:- stackoverflow.com/questions/6488422/…

标签: php arrays multidimensional-array php-7


【解决方案1】:

使用array_filter() 查找目标数组。在回调函数中检查moo索引的值。

$newArr = array_filter($arr, function($item){
    return $item['moo'] == 'gyu';
});

您也可以使用array_reduce() 在结果中返回目标数组。

$newArr = array_reduce($arr, function($carry, $item){
    $item['moo'] == 'gyu' ? $carry = $item : "";
    return $carry;
 });

demo查看结果

【讨论】:

    【解决方案2】:

    你必须使用 array_search() 函数。

    if(array_search('gyu', array_column($arr, 'moo')) !== False) {
        echo "FOUND";
    } else {
        echo "Not Found";
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-08
      • 2023-03-06
      • 2019-02-21
      • 1970-01-01
      • 1970-01-01
      • 2012-09-04
      • 2014-08-12
      相关资源
      最近更新 更多