2011-08-12 89 views
9

如果我有這個字符串變量$ VAR: echo "Hello, there are many $vars";PHP:在字符串變量無連接

PHP會爲variable $vars而不是$var

沒有級聯如:"Hello, there are many $var" . "s";
是否有另一種方法來做到這一點,就像某種逃避角色?

回答

23

在PHP中可以逃脫的變量,像這樣

echo "Hello, ${var}'s head is big"; 

或類似

echo "Hello, {$var}'s head is big"; 

參考here下轉義字符段

+0

'{$ var}'也可以... –

+0

有趣的是,我也知道這一點,但是當我在php文檔中搜索參考時,找不到任何內容。我可能搜索錯了,所以有人有嗎? – Joubarc

+1

然後當然我發現它 - 可能有用的參考:http://pa2.php.net/manual/en/language.types.string.php#language.types.string.parsing.complex – Joubarc

1

個人而言,我總是從這樣的字符串分割變量: echo 'Hello, there are many '.$var.'s';

主要是因爲的可讀性,如果你通過你的代碼,它立即清楚變量的位置。

+0

如果在3個字符串中有3組轉義引號和5個變量,比起聽起來要困難 – dukevin

+0

可讀性是我更喜歡其他解決方案的確切原因 –

+1

這實際上取決於您的IDE /編輯器。我的編輯器爲我突出了這些變量,所以我總是有可讀的代碼。另外,使用'{}'來調用這些變量會產生接縫可讀性效果。 –

4

您可以使用{}正確地轉義您的變量。請看下面的例子:

echo "There are many ${var}s"; #Or... 
echo "There are many {$var}s"; 

Working example