在关联数组中搜索多个键的功能?

Function to search multiple keys in an associative Array?

我有一个这种格式的数组:

Array ( [0] => Array ( [NUMBER] => 1 [AMOUNT] => 5 [RATE] => 1 ) [1] => Array ( [NUMBER] => 2 [AMOUNT] => 10 [RATE] => 1 ) [2] => Array ( [NUMBER] => 3 [AMOUNT] => 15 [RATE] => 1 ) )

我可以遍历数组并找到所需的结果,但我更愿意寻找一些 builtin 函数或 Laravel.

提供的函数

如果给定两个输入:NUMBER = 3AMOUNT = 5,是否有高效和小的方法来搜索这个数组,然后它returns true/false 或那个特定值?

echo count(
    array_filter(
        $your_array, 
        function ($e) {
            return $e['NUMBER'] == 3 && $e['AMOUNT'] == 5;
        }
    )
);

应该可以解决问题

测试:

$fooArray = array(
    array(
        'NUMBER' => 1,
        'AMOUNT' => 5
    ),
    array(
        'NUMBER' => 2,
        'AMOUNT' => 10,
    ),
    array(
        'NUMBER' => 3,
        'AMOUNT' => 15
    )
);

$barArray = array(
    array(
        'NUMBER' => 1,
        'AMOUNT' => 5
    ),
    array(
        'NUMBER' => 2,
        'AMOUNT' => 10,
    ),
    array(
        'NUMBER' => 3,
        'AMOUNT' => 5
    )
);

echo count(
    array_filter(
        $fooArray, 
        function ($e) {
            return $e['NUMBER'] == 3 && $e['AMOUNT'] == 5;
        }
    )
);
//will echo 0

echo count(
    array_filter(
        $barArray, 
        function ($e) {
            return $e['NUMBER'] == 3 && $e['AMOUNT'] == 5;
        }
    )
);
//will echo 1

如果您想要 true/false 逻辑,只需添加 (true == )(false == ) 测试而不是回显它