是否可能在同一个foreach循环中有两个条件,一个继续,一个断开。所以我想找到所有完整的输入字段并将它们设为$$key
,但只创建第一个空输入字段$_POST['email']
。我可以在同一个循环中执行此操作还是我需要2个循环?
这是一个例子,这不起作用,它会中断。
foreach( $_POST as $key=> $for ) {
if ( $for!='') {
$$key = $for; continue;
} else if ( $for=='') {
$$key = $_POST['email']; break;
}
答案 0 :(得分:1)
是的,你显然可以。
foreach( $_POST as $key=> $for ) {
if ( $for != '') {
$$key = $for;
} else {
$$key = $_POST['email'];
break;
}
}
答案 1 :(得分:1)
你的示例代码没有多大意义:if ($for!='')
,那么唯一可能的是$for==''
,因此第二个if子句是多余的。此外,通过在$$key
中设置结果,您需要做什么 - 可能有一个原因,但它没有显示在您发布的代码中。
是的,很有可能在循环中有多个break和continue构造。他们会正常工作。
然而,简单地实现代码会更有效:
$email=$_POST['email'];
(虽然这也消除了代码中的许多副作用和潜在漏洞)。