Php 如何删除';空';从数据库检索数据时laravel控制器中的值
结果显示在$data变量中。我想删除输出中的空值 以下代码:Php 如何删除';空';从数据库检索数据时laravel控制器中的值,php,mysql,laravel,Php,Mysql,Laravel,结果显示在$data变量中。我想删除输出中的空值 以下代码: $data = json_decode(json_encode($data),true); 稍后我将$data复制到$data1以使用以下代码合并两个变量: $data1 = $data; $unique= array_merge($data1,$data); $final =array_values(array_map("unserialize",array_unique(array_map("serialize", $u
$data = json_decode(json_encode($data),true);
稍后我将$data
复制到$data1
以使用以下代码合并两个变量:
$data1 = $data;
$unique= array_merge($data1,$data);
$final =array_values(array_map("unserialize",array_unique(array_map("serialize", $unique))));
您可以使用array\u filter删除数组中的空值 你喜欢这样吗
$data = json_decode(json_encode($data),true);
$data =array_filter($data);
修改在处理多维数组时(如您在评论中所述),要删除包含空数据的数组,需要使用数组映射、数组过滤器和数组中的 你喜欢这样吗
$data = json_decode(json_encode($data),true);
$data =array_map('array_filter',$data);
$data=array_map(function ($data){
if(!in_array(null,$data))
return $data;
},$data);
$data=array_filter($data);
它将输出为它将为您工作。如果您仅使用包含字符串的数组,则数组过滤器将完美工作。否则要小心,因为数组_过滤器也会删除0',和
假
查看此答案:如果
$data
和$data1
都是数据库结果,我可以假定它们是集合
然后,您可以通过应用进行1次收集:$data->union($data1)代码>
之后,您可以查看结果集:
$data->filter(函数($element,$key){
返回$element!==null;
});代码>$data
到底是什么?如果它是一个集合,那么您可以应用过滤器:$data->filter(函数($element,$key){return$element!==null;})实际上,我正在将数据从数据库提取到$data数组中。也许你们应该重新考虑一下你们在做什么:先编码,然后解码,先序列化,然后再反序列化,再将其自身合并。。。当然,有一种更简单的方法可以得到你所需要的结果。这看起来像是一个问题,我建议,与其问这个问题,不如问一个关于你试图解决的问题,然后想出这个解决方案。目前,这段代码做了很多次优化的事情。在$data数组中,我有一些数据,$data1有一些数据,所以我合并了两个数组并返回到数组_映射()。好的,当需要从数据数组中删除空值时,可以使用array_filter()
。使用数组_filter()仍然存在相同的问题。您可以显示您的数据您现在拥有什么以及您想要成为什么。下面的代码对材料null有定义,因此我删除该null并只提供有值数据。[0]=>数组(3){[“iot”]=>int(11721116376533120)[“日期时间”]=>string(19)“2017-05-11 11:32:39”[“材料”]=>NULL}[1]=>array(3)[“物联网”]=>int(8567763953469695)[“日期时间”]=>string(19)“2017-05-11:32:39”[“材料”]=>string(13)“2134803942910”