按列值过滤php数组

时间:2018-05-24 09:02:47

标签: php arrays filter

我想过滤掉status = paid的数组,是否有内置的PHP函数?

Array
(

[0] => Array
        (

            [id] => 140
            [status] => paid

        )

[1] => Array
        (

            [id] => 140
            [status] => new

        )
[2] => Array
        (

            [id] => 140
            [status] => new

        )
)

3 个答案:

答案 0 :(得分:1)

$filtered = array_filter($raw, function($element) {
   return $element['status'] === 'paid';
});

答案 1 :(得分:0)

使用这样的函数:

array_filter($yourArray, "statusPaid")

然后定义回调函数statusPaid(),以检查[status]。它只需要对['status'] == 'paid'的数组的每个元素进行检查

文档here

答案 2 :(得分:0)

你可以尝试这个 -

$musawar = array_filter($arr, function ($var) {
    return ($var['status'] == 'paid');
});

另一种方式是 -

function my_filter($elt) {
    return $elt['status'] == 'paid';
}