php中利用array_filter过滤数组的空值

袁志蒙 3998次浏览

摘要:在我们开发过程中,判断数组为空时你会想到什么方法呢?首先想到的应该是循环数组,然后在判断是不是为空对吧?今天有一个简单的方法,用array_...

在我们开发过程中,判断数组为空时你会想到什么方法呢?首先想到的应该是循环数组,然后在判断是不是为空对吧?今天有一个简单的方法,用array_filter函数来实现:


例子:

$arr = array(
	'name' => 'myname',
	0 => false,
	'age' => 18,
	1 => '',
	'sex' => 'nv',
	2 => null,
	'email' => '123456@qq.com',
	3 => 0,
	4 => 'test'
);

var_dump(array_filter($arr));

array_filter过滤


第二种方法就是自己写一个函数,这种就比较灵活了,然后在用array_filter的回调函数来实现,array_filter() 函数用回调函数过滤数组中的元素,如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中, 并将结果组成一个新的数组。如果原数组是一个关联数组,键名保持不变。

$arr = array(
	'name' => 'myname',
	0 => false,
	'age' => 18,
	1 => '',
	'sex' => 'nv',
	2 => null,
	'email' => '123456@qq.com',
	3 => 0,
	4 => 'test'
);


function del_empty($val){
	
	//当传入的值为空值时,返回false,也就是去掉该数组中的空值
	if($val === ''){
		return false;
	}
	
	return true;
}

var_dump(array_filter($arr, 'del_empty'));

array_filter过滤

随机内容

表情

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~