2010-02-03 123 views
5

你能在條件語句賦值在PHP中像這樣:可以在php中的條件語句上進行分配嗎?

if(siteName_err = isValid("sitename", $_POST['sitename'], false)) 
{ 
    $siteName = $_POST['sitename']; 
} 
+1

是的,如果不能完成任何事情都很難完成。 – JAL 2010-02-03 23:09:14

+0

你們在stackoverflow岩石手下來!謝謝轉機。驚人! – Afamee 2010-02-03 23:18:23

回答

8

是的。

我認爲這是使用MySQL時最常見的使用場景。例如:

$result = mysql_query("SELECT username FROM user"); 
while ($user = mysql_fetch_assoc($result)) { 
    echo $user['username'] . "\n"; 
} 

這是可行的,因爲$user是作業的結果。這意味着,無論存儲在您的任務中,它都將作爲條件使用。換句話說,

var_dump($i = 5); 

// is equivalent to 

$i = 5; 
var_dump($i); 

顯然,兩者都會打印int(5)

6

是。

老實說,你爲什麼不嘗試一下?不允許你做這類事情的語言通常會產生編譯器/解析器錯誤。

PHP從C獲取其大部分基本語法元素,其中包括每個賦值都返回一個值。因此這是有效的。

+3

+1爲「試用」 - 它肯定會更快 – Rob 2010-02-03 23:21:21

2

耶,你可以做到這一點。

如果您因爲嘗試過而發生瘋狂錯誤,請在siteName_err之前加上一個美元符號$作爲有效的變量名稱。

相關問題