使用 php 在关联数组的数组中搜索值

Search for value in array of associative arrays using php

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

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

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

谢谢。

使用array_filter()来查找目标数组。在回调函数中检查 moo index.

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

您也可以在结果中使用 array_reduce() 那个 return 目标数组。

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

检查结果 demo

你必须为此使用 array_search() 函数。

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