声明变量php时出错

时间:2017-03-08 14:19:44

标签: php

我想声明变量

我收到错误

  

解析错误:语法错误,意外'预订' (T_STRING)

mycode的

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

是错误

并且我不想将"..."更改为'...',因为我的结果是更改

5 个答案:

答案 0 :(得分:3)

你需要逃避双引号:

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

或者,您可以对整个字符串使用单引号:

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

这两个结果都是library&loc=local,scope:("book")&loc=local,scope:("book2")....

的相同字符串

答案 1 :(得分:1)

您在变量中使用双引号导致错误。您需要转义这些引号,例如:

scope:(\"book\")

或使用单引号:

scope:('book')

同样适用于book2。

我希望这会有所帮助!

答案 2 :(得分:1)

@ ARR.s使用\之前“喜欢”尝试下面的一个:

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

答案 3 :(得分:1)

这应该解决它。在字符串的开头和结尾使用单引号:

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

答案 4 :(得分:1)

你使用错误的双引号:

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

如果你想在使用双引号声明的字符串中使用双引号,你必须使用双引号:

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

无论如何,在php中使用双引号和单引号之间的区别是双引号被评估,在你的情况下你没有评估任何东西,所以你可以这样做(并且有点快,因为php不需要评估字符串)

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

我建议您阅读php strings documentation以了解双引号和单引号字符串之间的区别以及字符串评估的工作原理