PHP得到与某个值匹配的修改数组



我有一个数组的数组,如下所示:

        Array
(
    [0] => Array
        (
            [id] => 1
            [uid] => 746
            [lid] => 748
        )
   [1] => Array
        (
            [id] => 6
            [uid] => 746
            [lid] => 744
        )
   [2] => Array
        (
            [id] => 11
            [uid] => 749
            [lid] => 743
        )

)

我想要的是得到uid为746的修改后的数组。所以我期望的结果是:

Array
    (
        [0] => Array
            (
                [id] => 1
                [uid] => 746
                [lid] => 748
            )
       [1] => Array
            (
                [id] => 6
                [uid] => 746
                [lid] => 744
            )

    )

是否有任何快速的方法来做到这一点,而不是循环遍历每个元素并将匹配的数组保存到返回数组?

如果不检查每个元素,就无法做到这一点。也就是说,您可以使用array_filter来完成此操作(尽管它将在幕后循环):

$arr = array_filter($arr, function($item){
    return $item['uid'] == 746;
});

在PHP 5.3.0之前,你必须声明一个函数:

function filter746($item){
    return $item['uid'] == 746;
}
$arr = array_filter($arr, 'filter746');

相关内容

  • 没有找到相关文章

最新更新