-1

是否可以在同一个 foreach 循环中有两个条件,一个继续,一个中断。所以我想找到所有完整的输入字段并制作它们$$key,但只制作第一个空输入字段$_POST['email']。我可以在同一个循环中执行此操作还是需要 2 个循环?这是一个例子,这不起作用,它坏了。

foreach( $_POST as $key=> $for ) {
    if ( $for!='') {
        $$key = $for;   continue;
    } else if ( $for=='') { 
        $$key = $_POST['email'];  break;
    }
4

2 回答 2

1

是的,你显然可以。

foreach( $_POST as $key=> $for ) {
    if ( $for != '') {
        $$key = $for; 
    } else { 
        $$key = $_POST['email'];
        break;
    }
}
于 2013-01-21T13:50:27.280 回答
1

您的示例代码没有多大意义:if ($for!=''),那么唯一可能是$for=='',因此第二个 if 子句是多余的。此外,您想通过设置结果来实现什么$$key- 这可能是有原因的,但它没有显示在您发布的代码中。

是的,在一个循环中很可能有多个 break 和 continue 构造。他们将正常工作。

但是,简单地实现您的代码会更有效:

$email=$_POST['email'];

(尽管这也消除了代码中的许多副作用和潜在漏洞)。

于 2013-01-21T13:53:38.967 回答