请看我的代码,我几乎陷入了这个,为什么array_walk内部的突破不会破坏......
$bool=array_walk($_POST, 'check_empty');
function check_empty($item, $key)
{
$bool=(isset($item) && $item != "") ? 1: 0 ;
if(!$bool)
{
//return 0;
break;
}
return $bool;
}
答案 0 :(得分:3)
根本不清楚您尝试做什么,但break
是仅退出真实循环的控制结构(for
,foreach
,while
和do-while
)和切换结构。
array_walk
是迭代的,但不是真正意义上的循环。
你不能打破' (使用术语)来自数组walk回调;它被调用在数组的每个元素上,作为更新或修改每个元素的一种方法,我无法想象一个用例,你想要在它期间终止它。
答案 1 :(得分:0)
你想做什么?您的break
无效,因为您在它之前返回了一个值 - 因此永远不会执行break
行。
如果您尝试从阵列中删除所有空值,请尝试array_filter($array)
。