根据用户提交的内容,我的数组中有些元素是空字符串。我需要删除这些元素。我有这个。
foreach($linksArray as $link)
{
if($link == '')
{
unset($link);
}
}
print_r($linksArray);
但这并不奏效。$linksArray
仍然有空的元素。我也试过用empty()
函数来做,但结果是一样的。
由于你要处理的是一个字符串数组,你可以简单地使用array_filter()
,它可以方便地帮你处理这一切。
print_r(array_filter($linksArray));
请记住,如果没有提供回调,数组中所有等于FALSE'的条目(见[转换为布尔值][1])将被删除。因此,如果你需要保留元素,即精确的字符串
'0'`,你将需要一个自定义回调。
// PHP < 5.3
print_r(array_filter($linksArray, create_function('$value', 'return $value !== "";')));
// PHP 5.3 and later
print_r(array_filter($linksArray, function($value) { return !is_null($value) && $value !== ''; }));
foreach($linksArray as $key => $link)
{
if($link === '')
{
unset($linksArray[$key]);
}
}
print_r($linksArray);