3 回答
TA贡献1829条经验 获得超4个赞
你需要在“1.1.1.1”周围加上引号,否则 php 的解析器不会将它解释为字符串(这是它应该是的)
做这个:
$test="1.1.1.1";
$data = array("ips" => ["ip" => "$test"]);
$data_string = json_encode($data);
不是这个:
$test=1.1.1.1
$data = array("ips" => ["ip" => "$test"]);
$data_string = json_encode($data);
将数组的简写与数组函数混合也是不好的做法,你应该做array("ips" => array("ip" => "$test"));或者["ips" => ["ip" => "$test"]];
TA贡献1886条经验 获得超2个赞
虽然已经给出了正确的答案:You have a syntax error there and should write
$ip = "1.1.1.1";
我建议您首先查看服务器的 Web 服务器和 PHP 错误日志。它会清楚地说明您的脚本失败的原因:
[Sat May 16 13:26:20.744739 2020] [proxy_fcgi:error] [pid 1653:tid 140650782840576] [client ::1:55866] AH01071: Got error 'PHP message: PHP Parse error: syntax error, unexpected '.1' (T_DNUMBER) in /var/www/html/stackoverflow.php on line 2\n', referer: http://localhost/
或者,您可以使用php myScript.php
并从控制台运行它并获得相同的错误消息。自然地,PHP-CLI 的可能使用在一定程度上取决于脚本的复杂性。
这将有助于您将来更轻松地找到这些错误。
TA贡献1820条经验 获得超10个赞
您在变量中有语法错误$test。您可以使用字符串类型,如下所示:
$test = '1.1.1.1';
$data = array("ips" => ["ip" => "$test"]);
$data_string = json_encode($data);
- 3 回答
- 0 关注
- 126 浏览
添加回答
举报