2014-01-12 35 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

你很對,固定。 –