php中利⽤array_filter过滤数组为空值
filter过滤对象数组在我们开发过程中,判断数组为空时你会想到什么⽅法呢?⾸先想到的应该是empty函数,不过直接⽤empty函数判断为空是不对的,因为当这个值是多维数的时候,empty结果是有值的。
其实我们可以利⽤array_filter函数轻松去掉多维空值,⽽数组的下标没有改变,下⾯是举例⽤法:
array_filter() 函数⽤回调函数过滤数组中的元素,如果⾃定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中, 并将结果组成⼀个新的数组。如果原数组是⼀个关联数组,键名保持不变。
代码如下复制代码
$array = array(
0 => '霜天部落',
1 => false,
2 => 1,
3 => null,
4 => '',
5 => 'www.hzhuti',
6 => '0'
);
print_r(array_filter($array));
>
上⾯代码输出结果为:
这样就把为空或者null或者false的值排除掉
上⾯我们再进⾏优化
代码如下复制代码
function delEmpty($v)
{
if ($v==="" || $v==="php")  //当数组中存在空值和php值时,换回false,也就是去掉该数组中的空值和php值
{
return false;
}
return true;
}
$a=array(0=>"pig",1=>"Cat",2=>"",3=>"php");
print_r(array_filter($a,"delEmpty"));

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。