根据用户提交的内容,数组中的某些元素是空字符串。我需要删除那些元素。我有这个:
foreach($linksArray as $link) { if($link == '') { unset($link); } } print_r($linksArray);
但这是行不通的。$linksArray仍然有空元素。我也尝试过使用该empty()功能,但是结果是一样的。
$linksArray
empty()
在处理字符串数组时,您可以简单地使用array_filter(),它可以方便地为您处理所有这一切:
array_filter()
print_r(array_filter($linksArray));
请记住, 如果未提供回调 ,则将删除所有等于FALSE(请参见转换为boolean)数组的条目。因此,如果您需要保留元素,即确切的string '0',则需要一个自定义回调:
FALSE
'0'
// PHP 7.4 and later print_r(array_filter($linksArray, fn($value) => !is_null($value) && $value !== '')); // PHP 5.3 and later print_r(array_filter($linksArray, function($value) { return !is_null($value) && $value !== ''; })); // PHP < 5.3 print_r(array_filter($linksArray, create_function('$value', 'return $value !== "";')));