我有如下数组,
$arr['fixed_key'][0]['key1']['key2'] = 'y';
$arr['fixed_key'][1]['key1']['key2'] = 'y';
$arr['fixed_key'][2]['key1']['key2'] = 'n';
$arr['fixed_key'][3]['key1']['key2'] = 'n';
我想删除所有具有key2 ='n'的数组,我可以在循环中遍历数组并实现此目的,如下所示:
$l=length($arr);
for($i=0;$i<$l;$i++) {
if($arr['fixed_key'][$i]['key1']['key2'] == 'n') {
unset($arr['fixed_key'][$i]['key1']['key2']);
}
}
我的问题是,是否有可能以更好的方式执行此操作,例如array_map或array_walk,最好的方法是什么?
答案 0 :(得分:3)
您可以使用func GetStation(url : String, completionHandler: (stationDictionary: NSDictionary) -> ()) {
getResonse(url) { (dict) -> NSDictionary in
completionHandler(stationDictionary: dict)
return dict
}
}
array_filter
答案 1 :(得分:1)
我们可以使用array_search()并取消设置,尝试以下操作:
if(($key = array_search($del_value, $arr)) !== false) {
unset($arr[$key]);
}