根据用户提交的内容,数组中的某些元素是空字符串。 我须要删除那些元素。 我有这个: 数组
foreach($linksArray as $link) { if($link == '') { unset($link); } } print_r($linksArray);
但这是行不通的。 $linksArray
仍然具备空元素。 我也尝试过使用empty()
函数,可是结果是同样的。 函数
$myarray = array_filter($myarray, 'strlen'); //removes null values but leaves "0" $myarray = array_filter($myarray); //removes all null values
function trim_array($Array) { foreach ($Array as $value) { if(trim($value) === '') { $index = array_search($value, $Array); unset($Array[$index]); } } return $Array; }
我必须这样作以保持(string)0的数组值 url
$url = array_filter($data, function ($value) { return (!empty($value) || $value === 0 || $value==='0'); });
我使用如下脚本从数组中删除空元素 spa
for ($i=0; $i<$count($Array); $i++) { if (empty($Array[$i])) unset($Array[$i]); }
你能够作 code
array_filter($array)
array_filter:“若是未提供回调,则将删除全部等于FALSE的输入项。” 这意味着值NULL,0,'0','',FALSE,array()的元素也将被删除。 rem
另外一个选择是作 字符串
array_diff($array, array(''))
这将删除值为NULL,''和FALSE的元素。 string
但愿这能够帮助 :) io
这是一个例子。 function
$a = array(0, '0', NULL, FALSE, '', array()); var_dump(array_filter($a)); // array() var_dump(array_diff($a, array(0))) // 0 / '0' // array(NULL, FALSE, '', array()); var_dump(array_diff($a, array(NULL))) // NULL / FALSE / '' // array(0, '0', array())
总结一下: