Laravel |过滤关联数组中的空值
我有这样一个关联数组:Laravel |过滤关联数组中的空值,laravel,associative-array,Laravel,Associative Array,我有这样一个关联数组: $myarray = array( 'key1' => 'value1' 'key2' => 'value1','value2','value3', null ,'value4' null 'key4' => null ,'value2','value3', null 'key5'
$myarray = array(
'key1' => 'value1'
'key2' => 'value1','value2','value3', null ,'value4'
null
'key4' => null ,'value2','value3', null
'key5'
null
);
$myarray = array(
'key1' => 'value1'
'key2' => 'value1','value2','value3','value4'
null
'key4' => 'value2','value3'
'key5'
null
);
我想删除空值,并尝试了以下操作:
$collection = collect($myarray);
$filtered = $collection->filter(function ($value, $key) {
return $value != null;
});
结果是:
$myarray = array(
'key1' => 'value1'
'key2' => 'value1','value2','value3', null ,'value4'
'key4' => null ,'value2','value3', null
'key5'
);
但我想要的结果是这样的:
$myarray = array(
'key1' => 'value1'
'key2' => 'value1','value2','value3', null ,'value4'
null
'key4' => null ,'value2','value3', null
'key5'
null
);
$myarray = array(
'key1' => 'value1'
'key2' => 'value1','value2','value3','value4'
null
'key4' => 'value2','value3'
'key5'
null
);
我该怎么做
PS:我使用的是Laravel 5.4.36您的代码从顶级数组中删除
null
值。“期望结果”从嵌套数组中删除null
值
请尝试以下方法:
foreach($myarray作为$key=>$value){
if(is_null($key)| |!is_数组($value)){
继续;
}
$myarray[$key]=数组过滤器($value);
}
无法确认。结果将是一个集合。即使您执行$filtered->all()代码>,结果是[“key1”=>“value1”key2”=>“value1”0=>“value2”1=>“value3”3=>“value4”5=>“value2”6=>“value3”8=>“key5”]
我在chrome开发者工具上推送并查看了JSON。这是我从那里得到的结果。这确实有效,解释得很好,也很简洁。谢谢!不客气。