我正在尝试在响应字符串中传递app_id
和app_key
。我将它们设置为常量,然后将它们传递给字符串。我收到语法错误
Parse error: syntax error, unexpected ':'
我做错了什么?对不起,我是PHP的新手
$app_id = 123456;
$app_key = '1234abcd5678';
$query_string = https://apiresponse.htm?app_id=$app_id&app_key=$app_key;
echo $query_string;
答案 0 :(得分:3)
你需要用引号括起你的字符串并连接变量以避免错误
$query_string = 'https://apiresponse.htm?app_id='.$app_id.'&app_key='.$app_key;
答案 1 :(得分:2)
...但是$app_id
和$app_key
不是常量,它们是通常的标量变量(!)。
所以表达你的$query_string
最好的事情是
$query_string = "https://apiresponse.htm?app_id=$app_id&app_key=$app_key";
更多fast并且可读而不是连接。
使用define()表示常量:
define('app_id','123456');
define('app_key','1234abcd5678');
$query_string = 'https://apiresponse.htm?app_id='.app_id.'&app_key='.app_key;
PS:现在是串联运算符的最佳方式,就像@Fabio的建议一样。
答案 2 :(得分:1)
使用"
替换字符串
$query_string = "https://apiresponse.htm?app_id=$app_id&app_key=$app_key";
它比字符串连接更清晰(如'a='.$a
)
答案 3 :(得分:1)
您的$query_string
未被单引号或双引号括起来。
在这种情况下,由于您的字符串包含变量,您应该使用双引号。这样,您就不必突破字符串来添加变量。
$query_string = "https://apiresponse.htm?app_id=$app_id&app_key=$app_key";
如果你要使用单引号,你可以这样做:
$query_string = 'https://apiresponse.htm?app_id='.$app_id.'&app_key='.$app_key;
阅读有关Strings
的PHP手册的更多信息