【问题标题】:Filter php array by column value [duplicate]按列值过滤php数组[重复]
【发布时间】:2018-05-24 09:02:46
【问题描述】:

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

Array
(

[0] => Array
        (

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

        )

[1] => Array
        (

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

        )
[2] => Array
        (

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

        )
)

【问题讨论】:

  • 你会惊讶的,它叫array_filter

标签: php arrays filter


【解决方案1】:

你可以试试这个-

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

另一种方式是-

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

【讨论】:

    【解决方案2】:
    $filtered = array_filter($raw, function($element) {
       return $element['status'] === 'paid';
    });
    

    【讨论】:

      【解决方案3】:

      使用这样的函数:

      array_filter($yourArray, "statusPaid")
      

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

      文档here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-01-08
        • 2018-11-14
        • 1970-01-01
        • 2016-12-22
        • 2016-10-03
        • 2012-09-23
        • 2011-11-14
        相关资源
        最近更新 更多