我的数组中的一些元素是基于用户提交的内容的空字符串.我需要删除这些元素.我有这个:
foreach($linksArray as $link)
{
if($link == '')
{
unset($link);
}
}
print_r($linksArray);
Run Code Online (Sandbox Code Playgroud)
但它不起作用,$linksArray仍然有空元素.我也尝试过使用该empty()功能,但结果是一样的.
考虑:
[name] => Array ( [1] => name#1
[2] => name#2
[3] => name#3
[4] => name#4
[5] =>
[6] =>
[7] =>
[8] =>
[9] =>
)
$name = $_POST['name']
Run Code Online (Sandbox Code Playgroud)
我想要结果4.
count ($name) = 9
count (isset($name)) = 1
count (!empty($name)) = 1
Run Code Online (Sandbox Code Playgroud)
我认为最后一个会完成我需要的东西,但它不是(空条目来自表单上未填充的输入).
有没有办法做array_map但作为迭代器?
例如:
foreach (new MapIterator($array, $function) as $value)
{
if ($value == $required)
break;
}
Run Code Online (Sandbox Code Playgroud)
这样做的原因是$ function很难计算,而$ array有太多的元素,只需要映射直到我找到一个特定的值.array_map将在我搜索我想要的值之前计算所有值.
我自己可以实现迭代器,但我想知道是否有本地方法来做到这一点.我找不到任何搜索PHP文档的东西.