我有一个如下数组的数组:
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
)
)
我想要的是获得具有746的uid的修改过的数组。所以我期望的结果是:
Array
(
[0] => Array
(
[id] => 1
[uid] => 746
[lid] => 748
)
[1] => Array
(
[id] => 6
[uid] => 746
[lid] => 744
)
)
有没有快速的方法来做,而不是遍历每个元素并将匹配的数组保存到返回数组?
答案 0 :(得分:1)
如果不检查每个元素,就无法做到这一点。话虽如此,你可以使用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');