【问题标题】:php json multidimensional arraysphp json多维数组
【发布时间】:2014-06-11 19:55:30
【问题描述】:

我对为什么以下代码不起作用有些困惑:

$data_set = array();
for($i=1; $i<=3; $i++)
{
  $data_val = array($i, $i*2);
  $data_set[] = $data_val;
}

echo json_encode($data_set);

我的期望是这样的

[ [1,2], [2,4], [3,6] ]

我得到的是一个空字符串。

但是,如果我这样做

$data_set = array();
for($i=1; $i<=3; $i++)
{
  $data_val = array($i, $i*2);
  $data_set[] = json_encode($data_val);
}

echo json_encode($data_set);

我得到这样的东西:

[ "[1,2]", "[2,4]", "[3,6]" ]

所以,似乎更深层次的 数组 不起作用。 我错过了什么?

【问题讨论】:

  • 我尝试运行您的第一个示例,它给了我预期的结果。即[[1,2],[2,4],[3,6]]
  • 你可以改用var_dump($data_set); 吗?您的代码有效:3v4l.org/AiL2U
  • 非常适合我。
  • Drumbeg 和 VikingBlooded 都是正确的。不知道我的困惑从何而来。

标签: php arrays json multidimensional-array


【解决方案1】:

没有理由转换数组的元素,然后转换整个

$data_set = array();
for($i=1; $i<=3; $i++)
{
  $data_set[] = array($i, $i*2);
}

echo json_encode($data_set);

【讨论】:

    猜你喜欢
    • 2013-10-27
    • 1970-01-01
    • 2017-03-27
    • 2016-05-23
    • 2016-06-11
    • 2020-06-21
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多