2014-02-17 153 views
2

作爲學習PHP的一部分,我被給出了這個問題。。=如何在這個代碼中工作?

$ a的最終價值是多少?

$a .= "a"; 
$a .= "b"; 
$a .= "c"; 

我知道它輸出「ABC」據我所知,「=」是連接賦值,但我還是有點不清楚什麼是真正回事。當我刪除期間我得到「C」,這是有道理的,它會採取最後一個項目。

感謝您的任何澄清。

+0

'$ a =「a」。 「b」。 「c」;' –

+0

。符連接。 。=允許你重新分配連接。所以$ a。=「b」;基本上是說一個等於一個,但也加「b」 –

+0

點是一個[連接運算符](http://www.php.net/manual/en/language.operators.string.php)。閱讀。 – poncha

回答

5
$a .= "a" 

...是簡寫......

$a = $a . "a" 

在開始的時候,$ a是空的。

$a .= "a" 
// now $a == "a" 
$a .= "b" 
// now $a == "a" . "b" == "ab" 
$a .= "c" 
// now $a == "ab" . "c" == "abc" 
+0

這是一個很好的描述。現在我懂了。謝謝一堆。 – justinae

3

是的,正是它連接在一起。以下兩行相同。

$a = $a . "a" 
$a .= "a" 
1

當您在PHP中使用.=時,您幾乎將字符串粘合爲一個。

測試你的代碼在這裏粘貼:http://writecodeonline.com/php/

然後寫另一條線路輸出變量a

$a .= "a"; 
$a .= "b"; 
$a .= "c"; 
echo $a; 

變量a的最終結果的內容是​​因爲「a」 +「b」+「c」=「abc」 - 連接!

因此,總之,請考慮以下內容:變量a只是一個容器...當我們使用賦值運算符(=)時,我們刪除它在容器中的任何內容,並用我們指定的新值替換它,這就是爲什麼當你使用=時,最終結果是字符c。因爲它不斷更換原始內容。

當我們使用串聯,.=我們繼續APPEND,而不是取代它。

0
$a .= "a"; // $a =$a . 'a' ie a= 'a' 
$a .= "b"; // $a =$a . 'b' ie a= 'ab' 
$a .= "c"; // $a =$a . 'c' ie a= 'abc' 
1

當$ a未定義時,您不能使用$ a。=「a」。在這種情況下,您應該使用正確的PHP配置來獲取「未定義變量」警告。嘗試解決這個問題,以獲得任何意想不到的價值;

相關問題