如何在php中设置url常量,同时循环echo以json形式输出
我有一个文件-constants.php,其中常量的定义如下-如何在php中设置url常量,同时循环echo以json形式输出,php,constants,Php,Constants,我有一个文件-constants.php,其中常量的定义如下- if (!defined('url')) define("url", "example.com", true); 我想将这个url包含在另一个php文件中,该文件连接到mysql并使用while循环输出json echo ' "url": ' . '"' ."http://.url./s.php?o=$o" . '"' ; 它应该在json文件中输出为 "url": "http://example.com/s.php?
if (!defined('url')) define("url", "example.com", true);
我想将这个url包含在另一个php文件中,该文件连接到mysql并使用while循环输出json
echo ' "url": ' . '"' ."http://.url./s.php?o=$o" . '"' ;
它应该在json文件中输出为
"url": "http://example.com/s.php?o=a+b"
但它在json输出中显示为
"url": "http://.url./s.php?o=a+b"
请告诉我做错了什么看起来您只是在url:
“.url”周围缺少了一些双引号。
您必须使用相同的引号来括起字符串。我将通过将整个语句分解为单独的部分和正在构建的字符串来解释:
echo
' "url": ' "url":
'"' "url": "
"http://" "url": "http://
url "url": "http://{url constant value}
"/s.php?o=$o" "url": "http://{url constant value}/s.php?o={$o value}
'"' "url": "http://{url constant value}/s.php?o={$o value}"
'' "url": "http://{url constant value}/s.php?o={$o value}"
""; "url": "http://{url constant value}/s.php?o={$o value}"
字符串连接的最后两部分不需要,因为您只是在添加空格
更简单:
echo“url”:“.”http://“.url.”/s.php?o=$o“”代码>看起来您只是在url:“.url”周围缺少了一些双引号。
您必须使用相同的引号来括起字符串。我将通过将整个语句分解为单独的部分和正在构建的字符串来解释:
echo
' "url": ' "url":
'"' "url": "
"http://" "url": "http://
url "url": "http://{url constant value}
"/s.php?o=$o" "url": "http://{url constant value}/s.php?o={$o value}
'"' "url": "http://{url constant value}/s.php?o={$o value}"
'' "url": "http://{url constant value}/s.php?o={$o value}"
""; "url": "http://{url constant value}/s.php?o={$o value}"
字符串连接的最后两部分不需要,因为您只是在添加空格
更简单:echo“url”:“.”http://“.url.”/s.php?o=$o“”代码>这行带有echo
的代码非常复杂。读这一行时,很难理解发生了什么。您可以使用sprintf
方法而不是字符串串联来避免此问题
<?php
if (!defined('url')) define("url", "example.com", true);
$o = 1;
echo sprintf('"url": "http://%s/s.php?o=%s"', url, $o);
带有echo
的这行代码非常复杂。读这一行时,很难理解发生了什么。您可以使用sprintf
方法而不是字符串串联来避免此问题
<?php
if (!defined('url')) define("url", "example.com", true);
$o = 1;
echo sprintf('"url": "http://%s/s.php?o=%s"', url, $o);
像这样:
echo ' "url": ' . '"' ."http://". url ."/s.php?o=$o" . '"' . '' . "";
像这样:
echo ' "url": ' . '"' ."http://". url ."/s.php?o=$o" . '"' . '' . "";
您是否使用字符串手动创建JSON?我建议不要这样做,而是构建一个数据数组并使用json_编码@Aknosis,从mysql获取数据后,针对不同的参数,通过不同的函数进行进一步修改。那么,我是在php中手动创建JSON,而您是在用字符串手动创建JSON吗?我建议不要这样做,而是构建一个数据数组并使用json_编码@Aknosis,从mysql获取数据后,针对不同的参数,通过不同的函数进行进一步修改。因此,我在php中手动创建JSON,同时感谢您的响应。我已经试过了。然后,它输出为“url”:“http://'.url./s.php?o=a+b”
实际上那些应该是双引号,我更新了我的帖子。谢谢。成功了。你能解释一下双引号和单引号之间的逻辑吗quotes@user20152015更新了我的答案。您必须使用双引号,因为这是您用来包装的http://and/s.php部分的引号类型string@Anosis,您能否提供此类语法规则的文档链接。我总是在这里遇到问题谢谢你的回复。我已经试过了。然后,它输出为“url”:“http://'.url./s.php?o=a+b”
实际上那些应该是双引号,我更新了我的帖子。谢谢。成功了。你能解释一下双引号和单引号之间的逻辑吗quotes@user20152015更新了我的答案。您必须使用双引号,因为这是您用来包装的http://and/s.php部分的引号类型string@Anosis,您能否提供此类语法规则的文档链接。我总是在这里遇到问题,因为我给出了备选方案+1。编辑并简化了echo行echo“url”:"' ."http://.url./s.php?o=$o“'”代码>+1表示提供备用。编辑并简化了echo行echo“url”:"' ."http://.url./s.php?o=$o“'”代码>