【问题标题】:PHP JSON Encode square bracketPHP JSON 编码方括号
【发布时间】:2016-03-11 17:11:43
【问题描述】:

我有一个要编码的简单 JSON 数组。在 JSON 字符串内部,我需要另一个放在方括号中的数组。我无法弄清楚如何使内部括号变成正方形。有什么建议吗?

这是我的代码

$data = [ "item" =>  ["id" => "123456", "name" => "adam"]  ];                                                                    
$data_string = json_encode($data);

这是输出

{"item":{"id":"123456","name":"adam"}}

我希望得到什么

{"item":["1123","1134","1184"]}

【问题讨论】:

  • 你怎么能给它一个数字的东西并得到很多数字的东西呢? (这里的意思是我们需要一个更完整的例子)。

标签: php json encode square-bracket


【解决方案1】:

在 JSON 中,[] 是一个数组,{} 是一个对象。

一个数组包含一个有序的值列表。

一个对象包含一组无序的键/值对。

如果你想要一个数组,那么你必须提供一个有序的值列表(一个 PHP 数组),而不是一组键/值对(一个 PHP 关联数组)。


$data = [ "item" =>  ["id", "123456", "name", "adam"]  ];
$data_string = json_encode($data);

给予

{"item":["id","123456","name","adam"]}

【讨论】:

    【解决方案2】:

    我记得,JSON 数组不能同时有键和值,就像 javascript 一样。如果你有带有键和值的 php 数组,它将被转换为 JSON 对象,从 php 数组中删除键,你也会得到 JSON 数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-28
      • 2014-04-19
      • 1970-01-01
      • 1970-01-01
      • 2012-02-25
      • 1970-01-01
      • 1970-01-01
      • 2021-01-21
      相关资源
      最近更新 更多