如何在PHP中传递常量作为字符串的一部分

时间:2014-02-24 00:54:00

标签: php

我正在尝试在响应字符串中传递app_idapp_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;

4 个答案:

答案 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手册的更多信息