我的数组中的一些元素是基于用户提交的空字符串。我需要移除这些元素。我有这个:
foreach($linksArray as $link)
{
if($link == '')
{
unset($link);
}
}
print_r($linksArray);
但这并不奏效。$linksArray仍然有空元素。我也尝试过用empty()函数这样做,但结果是一样的。
我的数组中的一些元素是基于用户提交的空字符串。我需要移除这些元素。我有这个:
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
其他回答
根据你的方法,你可以在另一个数组中捕获这些元素,然后像下面这样使用,
foreach($linksArray as $link){
if(!empty($link)){
$new_arr[] = $link
}
}
print_r($new_arr);
我必须这样做,以保持(string) 0的数组值
$url = array_filter($data, function ($value) {
return (!empty($value) || $value === 0 || $value==='0');
});
function trim_array($Array)
{
foreach ($Array as $value) {
if(trim($value) === '') {
$index = array_search($value, $Array);
unset($Array[$index]);
}
}
return $Array;
}
另一行代码从数组中删除空(""空字符串)元素。
$array = array_filter($array, function($a) {return $a !== "";});
注意:这段代码故意保留null、0和false元素。
或者你可能想先修剪数组元素:
$array = array_filter($array, function($a) {
return trim($a) !== "";
});
注意:这段代码还删除了null和false元素。
使用array_filter函数删除空值:
$linksArray = array_filter($linksArray);
print_r($linksArray);