PHP获取与特定值匹配的修改数组

PHP获取与特定值匹配的修改数组,php,arrays,multidimensional-array,foreach,Php,Arrays,Multidimensional Array,Foreach,我有一个数组,如下所示: Array ( [0] => Array ( [id] => 1 [uid] => 746 [lid] => 748 ) [1] => Array ( [id] => 6 [uid] => 746 [lid]

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

        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
            )


    )

有没有什么快速的方法来完成这项工作,而不是遍历每个元素并将匹配的数组保存到返回数组中?

如果不检查每个元素,就无法完成这项工作。也就是说,您可以使用它来执行此操作(尽管它会在幕后循环):

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

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

太棒了,伙计。干杯
function filter746($item){
    return $item['uid'] == 746;
}
$arr = array_filter($arr, 'filter746');