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 關注
- 163 瀏覽
添加回答
舉報