json - PHP-CLI 似乎从参数中解析 JSON 字符串

标签 json php

如果我通过命令行将 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/

相关文章:

json - 如何从文本中提取需要的信息?

android - 制作 json 数组对象时显示 java.lang.StackOverflowError 错误?

javascript - select2从本地json文件加载数据

php - Mysql 和 PHP 连接有效

php - Laravel 框架类在 PHPUnit 数据提供程序中不可用

javascript - 选择单选按钮后的下拉列表

php - Google Contacts Api -> 删除了哪些联系人?

java - 使用 JsonReader 将缓存的 Json 文件读取为 ByteArray

php - WordPress自定义帖子格式?

javascript - AJAX 返回 200 成功但无法解析响应 JSON