2010-11-16 93 views
0

你好,

{$var}在PHP中是什麼意思?

實施例:

$query = "UPDATE table SET field = '{$var}'"; 

THX。

回答

5

{$var}從周圍字符「屏蔽」變量名稱。例如:

$root = "stick"; 
echo "{$root}y"; # Adjectify! 

輸出 「粘性」,其中:

$root = "stick"; 
echo "$rooty"; # Adjectify! No, just kidding. 

將輸出什麼都沒有,因爲變量$rooty不存在。

它還允許您使用不僅僅是變量名稱的表達式,如數組索引或屬性訪問。

+4

這一點,我不認爲你可以訪問陣列沒有他們,像'「{$改編[‘關鍵’] }「'...或者至少在圍繞關鍵IIRC使用引號時不會。 – mpen 2010-11-16 07:05:32

1

我發現使用{$ var}的一般目的是它告訴PHP明確引用裏面的內容作爲變量。做東西的時候像

$qry = "UPDATE table SET field = '{$var['myvar']}'"; or 
$qry = "UPDATE table SET field = '{$var->property}'"; 

沒有{}在我裏面的字符串變量,它不會知道什麼時候變的開始和結束它是最常用的,通常會導致PHP拋出一個錯誤。

+1

它不會導致錯誤,它只會嘗試對'$ var'進行字符串化並追加' - >屬性等,這通常不是開發人員想要的。 – cdhowie 2010-11-16 07:06:56

0

$ var是一個變量,與值相關聯的符號名和其關聯值可以改變 的{}確保它被處理爲一體,在這方面 所有這4是有效的,意思是相同的...

$query = "UPDATE table SET field = '{$var}'"; 
$query = "UPDATE table SET field = '$var'"; 
$query = "UPDATE table SET field = '".$var."'"; 
$query = 'UPDATE table SET field = \''.$var.'\''; 
1

它還允許你做變量變量

$var = "Sup"; 
$sup = "Hello!"; 

echo ${$var}; // outputs Hello!