2013-03-22 47 views
-1

我有PHP的下面一點問題:解析錯誤:語法錯誤,......期待T_STRING

<?php 
    $pageTitle = \"Page 1"; 
    include(\"Header.php\"); 
?> 

我得到這個語法錯誤:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting T_STRING

錯誤是第二行。如果我有第二個引號前'\',我收到以下錯誤消息兩行:

Parse error: syntax error, unexpected '"', expecting T_STRING in /home/maxster/scc.maxworks.org/p_404.php on line 2

任何人都可以解釋發生了什麼?

+2

你爲什麼在報價前加斜線?順便說一句,大聲笑@'donkeychunks' – tjameson 2013-03-22 07:15:02

+0

我在最初之前就把斜槓,因爲那是我試圖做的教程。我是一個新手,我不知道更好;) – Chezshire 2013-03-23 19:16:36

回答

1

嘗試刪除/ on第二行。它需要一個字符串,所以只需「頁面1」即可。

刪除所有的斜線。

+0

謝謝 - 這也有幫助,我想感謝你和剃刀爲你的幫助。 – Chezshire 2013-03-22 13:19:01

+0

歡迎您:)您可以將它標記爲您接受的答案然後:) :) – Razor 2013-03-25 04:53:27

+0

我也想要,但我沒有足夠高的聲望尚未在stackOverflow上這樣做。如果我可以的話。當我這樣做時,我會:D – Chezshire 2013-03-25 23:26:38

1

不要忘記,在引號之前使用反斜槓意味着它們被視爲字符串的一部分,所以您實際上正在處理代碼的語法。您可以使用此一種情況是,例如,如果你要打印引號內的字符串:

<?php 
echo "the french word \"lundi\" means \"monday\" in english"; 
?> 
+0

感謝您對xwinus的幫助,非常感謝。 – Chezshire 2013-03-23 19:17:17

+0

我很高興它爲你提供幫助:-) – xwinus 2013-03-24 22:20:09

1

你混淆了逃逸字符串,字符串中的引號。這是一個正常的字符串:

$pageTitle = "A string"; 

如果你希望你的字符串包含引號,您需要使用\這樣逃脫他們:

$pageTitle = "I like the band \"U2\" very much!"; 

請注意,在PHP中你可以改變雙引用單引號。以下四條語句有效:

$pageTitle = 'I like the band "U2" very much!'; 
$pageTitle = 'I like the band \'U2\' very much!'; 
$pageTitle = "I like the band 'U2' very much!"; 
$pageTitle = "I like the band \"U2\" very much!"; 

請注意引號是如何逃避的!

不同的是,當字符串用雙引號開始,內聯變量進行評估,而這不是單引號的情況:

$bandName = "U2"; 
$pageTitle1 = 'I like the band $bandName very much!'; 
$pageTitle2 = "I like the band $bandName very much!"; 

echo $pageTitle1 . "<br />"; 
echo $pageTitle2; 

的這個輸出將是

I like the band $bandName very much! 
I like the band U2 very much! 
+0

謝謝Dittmar--這非常有幫助。我試圖對它進行投票,但我沒有足夠的聲望點來這樣做。 – Chezshire 2013-03-22 13:15:26

+0

您可以將其標記爲已接受的解決方案... ;-) – 2013-03-22 18:32:19

+0

我也想要,但是我還沒有足夠高的聲望,無法在stackoverflow上執行此操作。如果我可以的話。當我這樣做時,我會:D – Chezshire 2013-03-25 23:26:05

相關問題