如果我通过命令行将 JSON 编码的字符串作为参数发送,则使用 PHP 5.3...
/usr/local/bin/php -q /path/to/script.php {"key":"test","cache":1}
... script.php 中的代码是:
<?php print_r($argv); ?>
我回来了:
Array
(
[0] => /path/to/script.php
[1] => key:test
[2] => cache:1
)
这完全出乎意料!
虽然我可以接受这一点,但我想知道 PHP 在哪里记录了这一点,这样我 100% 确定如果我每次都传递一个 JSON 编码的字符串作为参数,它会像这样工作。
此外,JSON 字符串中的数组似乎没有按预期工作。
最佳答案
如果想在 cli 参数中使用特殊字符,您应该始终将它们括在引号中
"{\"key\":\"test\",\"cache\":1}"
'{"key":"test","cache":1}'
关于json - PHP-CLI 似乎从参数中解析 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5938804/