簡體   English   中英

變量合並沒有意義

[英]Variable merging which doesn't make sense

考慮以下代碼:

$x  = 1.4;
$i1 = 0.5;
$i2 = 0.4;

echo ($i1 + $i2 = $x); // Outputs 1.9

為什么是這樣? 我試過沒有結果的搜索這種變量設置。 變量$i2被忽略了嗎? 為什么要使用這個over echo ($x + $i1); 它輸出相同的結果。

關鍵是它在一個陳述中做了件事。

它是以下的簡寫:

$i2 = $x;
echo ($i1 + $i2);

賦值發生在內聯,保存單獨的行。 不理想的樣式,但經常用於if()while()和其他控制語句。

這將是$ i1 +任務。

賦值評估為$ x ($i2 = $x )

最終結果是echo 0.5 + 1.4.

甚至php也有運營商優先級http://php.net/manual/en/language.operators.precedence.php

=+之前處理,這意味着發生了這種情況:

echo ($i1 + ($i2 = $x));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM