laravel - 拉拉维尔 | 从关联数组中过滤空值
问题描述
我有一个这样的关联数组:
$myarray = array(
'key1' => 'value1'
'key2' => 'value1','value2','value3', null ,'value4'
null
'key4' => null ,'value2','value3', null
'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','value4'
null
'key4' => 'value2','value3'
'key5'
null
);
我怎样才能做到这一点?
PS:我使用的是 Laravel 5.4.36
解决方案
null
您的代码从顶级数组中删除值。您的“期望结果”会null
从嵌套数组中删除值。
试试这个:
foreach ($myarray as $key => $value) {
if (is_null($key) || !is_array($value)) {
continue;
}
$myarray[$key] = array_filter($value);
}
推荐阅读
- d - 如何在堆上分配委托?
- java - MyClass.class.getPackage().getImplementationVersion() 返回“错误”数据
- angular - TypeError:无法读取未定义的属性“容量”
- c - Keil如何发送AT命令
- javascript - 打印地图中最高值的键
- iis - 用于清理 IIS 日志的 VBscript 出现运行时错误
- python - 如何在不更改导入的情况下从模块运行脚本?
- c++ - 对于大于 0x1FFF 的卷扇区,Windows FileWrite 失败
- node.js - 如何使用带有许多请求的 Node mssql 修复“无法连接(序列)”
- kubernetes - 对于 Kubernetes 中的部署/升级后测试,测试的最佳触发器是什么