2017-03-08 115 views
1

我想聲明的變量錯誤聲明變量PHP

,我得到錯誤

Parse error: syntax error, unexpected 'book' (T_STRING)

mycode的

$filters = "library&loc=local,scope:("book")&loc=local,scope:("book2")...."; 
$path = "http://xxxxx/place/search/institution=".$filters.""; 

符合$filters=.....是錯誤

,我不想將"..."更改爲'...',因爲我的結果是更改

+1

看看突出顯示。如果您不想更改單引號,則需要避免引號,使其成爲......範圍:(\「book \」)&...' – Qirel

回答

3

您需要轉義雙引號:

$filters = "library&loc=local,scope:(\"book\")&loc=local,scope:(\"book2\")...."; 

或者,您可以使用單引號將整個字符串:其中是library&loc=local,scope:("book")&loc=local,scope:("book2")....

相同的字符串

$filters = 'library&loc=local,scope:("book")&loc=local,scope:("book2")....'; 

這兩種結果

1

您在引起錯誤的變量中使用雙引號。你需要逃避這些報價,例如:

scope:(\"book\") 

或者使用單引號:

scope:('book') 

同爲第二冊。

我希望這會有所幫助!

<?php 
$filters = "library&loc=local,scope:(\"book\")&loc=local,scope:(\"book2\")...."; 
$path = "http://xxxxx/place/search/institution=".$filters.""; 
1

@ ARR.s 「像\」 試試下面的人之前使用\。

$filters = 'library&loc=local,scope:("book")&loc=local,scope:("book2")....'; 
1

這應該修復它:

1

你正在使用錯誤的雙引號:在你的字符串的開始和結束使用單引號

$filters = "library&loc=local,scope:("book")&loc=local,scope:("book2")...."; 

如果你想使用一個字符串中的雙引號使用雙引號,你聲明有SCAPE他們:

$filters = "library&loc=local,scope:(\"book\")&loc=local,scope:(\"book2\")...."; 

無論如何,在PHP中使用雙引號和單引號之間的區別在於雙引號進行評估,你的情況,你沒有什麼評價,這樣你就可以做到這一點(和PHP becouse快一點沒有評估字符串)

$filters = 'library&loc=local,scope:("book")&loc=local,scope:("book2")....'; 

我建議你閱讀php strings documentation瞭解雙引號和單引號的字符串以及如何字符串評估工作

之間的區別