2014-01-12 33 views
0

我是通过一个PHP到Python物品,其在谈论蟒蛇相当于foreach()他们给了PHP代码示例作为PHP的foreach语法{}

foreach ($items as $item) 
    echo $item; 

阅读这是一个有效的语法,而不{}我总是看到它写成

foreach ($items as $item){ 
    echo $item; 
} 

我跑通过coderunner第一个例子,如果它会在本地识破错误,它没有,这是使用一个有效的语法或将我使用它遇到的问题?

+0

可读性问题。 – mario

+0

不使用它,即使用'if's'也不要使用它,这个语法对代码阅读器没有任何帮助 –

+0

我认为如果foreach的内容只在一行上,它是有效的。同名'if' –

回答

9

款待foreach{ ... }为2个不同的和独立的语言结构。

原来foreach语法

foreach (...) 
    statement 

echo $item;是一个有效的语句。

{ // any code here }也是一个单一的有效声明。

2

假设在foreach循环中有一条语句“有效”。这实际上推广到foreach以外,它适用于for,while, if等。此外,它不是特定于PHP,许多语言支持这个单语句短手。

0

是的这是一个有效的例子。它只有在执行一个语句或者语句级联到另一个条件/语句时才有效。

所以,虽然下面的例子是无效的(这只是第一个回声将在循环内执行)。

foreach(...) 
    echo ... 
    echo ... 

这个例子还只是

foreach(...) 
    if(...) 
     echo ...  
+0

“声明中的一行”---? 'echo'foo \ n bar';'(其中'\ n'是一个真正的新行)。或'echo 1;回声2;'---仍然是一行。它没有任何**与那里的行数有关。必须重写它才能删除任何线条的提及。 – zerkms

+0

你很对,固定。 –