2013-03-04 27 views
1

這是一個非常基本的問題,但我試圖找出一些最佳實踐。是.=運營商只是一個縮短一些像這樣的編碼方式:在PHP中使用。=運算符

$a = 'John'; 
$b = 'Doe'; 
$n = $a.' '.$b'; 

這樣:

$n = 'John'; 
$n .= ' Doe'; 

好像很有道理,但我想確保我不會錯過任何東西。謝謝! :)

回答

4

你明白了。就是這樣。

$a .= $b; 

等同於:

$a = $a . $b; 

只要確保兩個變量定義事先。在使用速記時容易讓人忘記,但不應調用$a .= $b而不定義$a。您應該始終顯式初始化變量。

+0

感謝您的解釋!當它允許我時,我會接受它:) – Xhynk 2013-03-04 19:58:41

4

你不會錯過任何東西。 .=運算符僅用於此。

下面對是相等的:

$a = $a . 'b'; 
$a .= 'b'; 

$a = $a + 3; 
$a += 3; 

$a = $a - 3; 
$a -= 3; 

$a = $a/3; 
$a /= 3; 

$a = $a * 3; 
$a *= 3; 
0

你是對的。這只是爲了編寫更簡潔的代碼。很像在JavaScript中的+=

+1

儘管不要假設+ =在PHP中與在javascript中的+ =相同:) – 2013-03-04 19:47:50

+0

是的,因此,「很像'而不是''同義'' – Leeish 2013-03-04 19:59:20

3

要真正縮短像一些代碼,這

$n = 'John'; 
$n = $n .' Doe'; 

你的第一個代碼concats 串和第二隻有兩個
一段時間,使你的第一個代碼=

$n = 'John'; 
$n .= ' '; 
$n .= 'Doe'; 
0
$forename = 'John '; 

$surname = 'Bennet'; 

$forname = $forename . $surname; 

echo $forname; 

相同 個
$forename = 'John '; 

$surname = 'Bennet'; 

$forename .= $surname; 

echo $forname; 

兩個輸出是相同的:

John Bennet 
+1

兩個輸出是一樣的,但是你錯過了一個空間......他們都會輸出'J​​ohnBennet'。 – 2013-03-04 19:55:20

+0

謝謝,我修正了它。 – 2013-03-04 19:57:15