PHP中如何去除一个数组中的空元素

如题所述

array_filter() 函数用回调函数过滤数组中的值。

该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回结果数组中。数组键名保持不变。

例如:

<?php

function test_odd($var)

{

return($var & 1);

}

$a1=array("a","b",2,3,4);

print_r(array_filter($a1,"test_odd"));

?>
运行结果:Array ( [3] => 3 )

扩展资料:

循环遍历数组,把有值的元素放进一个新数组中。

$arr = array();

foreach ($urlArr as $key => $val) {

if (empty($val)) {continue;}

$arr[] = $val;

}

$arr是去除空元素的新数组。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-05
PHP中去除一个数组中的空元素方法很多,但是有一个系统函数是最方便的:
array_filter (参数1,参数2);

此函数是依次将 “参数1” 数组中的每个值传递到 “参数2” 函数。如果 “参数2”函数返回 TRUE ,则 “参数1” 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。
如果只需去除数组中的空元素的话,参数2可以省略,列入数组:
$arr1=array( "a" => 1 , "b" => 0 , "c" => 3 , "d" => "" , "e" => 5 ,"f"=>array());

//执行
$arr1=array_filter ($arr1);
//结果为
array( "a" => 1 , "c" => 3 , "e" => 5 );
第2个回答  推荐于2017-09-17
�0�2�0�2�0�2�0�2�0�2 问题是在使用函数explode()时遇到的.�0�2�0�2�0�2�0�2�0�2 存在一个字符串,其格式为以逗号分隔的一组关键词.在PHP中,可以使用函数explode(),将这些关键词提取成一个数组保存.保存的数组中是可能存在空元素的,,比如当初始的字符串为: ',关键词1,,关键词2,'.�0�2�0�2�0�2�0�2�0�2 如何去除它们呢?�0�2�0�2�0�2�0�2�0�2 通过Google,找到下面两篇web,讲述使用函数array_filter()解决这个问题.�0�2�0�2�0�2�0�2�0�2 1.PHP去除数组中的空值�0�2�0�2�0�2�0�2�0�2 2.php函数array_filter()过滤php空数组_php去掉空数组_数组键名重置序列化�0�2�0�2�0�2�0�2�0�2 当然,对于array_filter()的使用,更多的应看看文档.本回答被提问者采纳