PHP-TO-JSON 没有数组 [0]?

PHP-TO-JSON No Array [0]?

所以,经过漫长的三天,我遇到的另一个问题已经解决,关于 php-to-json 数组。由于修复了上一个问题,将 运行 放入另一个导致使用 foreach 的输出中断的问题。

查看var_dump,似乎有问题:

  1. 第一个数组没有 0 但包含所有命名键。
  2. 此后数组编号:0、1 等,但没有命名键。
  3. 第一个在输出的末尾重复一个连续的整数“1”。

使用JSON Lint测试,返回有效。 这是 output link.

PS:忽略json_pretty_print。我这样做只是为了更清楚地看到结构。

[
{
    "muid": "IMDBTFKG3MJOZPE0AAVA",
    "bandname": "In Hoodies",
    "core": {
        "joined": "Wed 26 August 2015",
        "bandbio": "Broken Tambourine Music",
        "genre": "Popular",
        "subgenre": "Brit"
    },

 "0": [
        "IM5LGM02MFS8RJLKGY9W",
        "Marbles For Zen",
        {
            "joined": "Sun 01 March 2015",
            "bandbio": "Zen And Marbles",
            "genre": "Rhythm Blues",
            "subgenre": "Dixie Rhythm"
        },

...

"1": [
    "IMA3YNBKZQDNR9RBCSRI",
    "Frankie Storm",
    {
        "joined": "Sat 21 February 2015",
        "bandbio": "Just registered. Bio coming soon.",
        "genre": "Popular",
        "subgenre": ""
    },

我觉得你对这里的结构有点困惑:

您的数组似乎只有一个元素,该元素是一个巨大的对象。

该对象内部是属性,前三个属性是 muidbandnamecore。之后的每个 属性 从 0 开始计算,这可能是您混淆的根源。 01...不是索引,它们实际上是原始对象的属性,您可以看出这一点,因为它们用双引号引起来....

已解决

非常感谢 A.O. 让我注意到对象的 属性 。看起来冲突很简单:

原文:

$meso[]=array();

正确:

$meso=[];

很简单,是吗?值得关注。 正确进入数组后,使用

array_push($meso, [( <--- objects here ---> )]);

产生完美的结果。 用 json_encodevoilà 完成函数一个漂亮的输出。

干杯,祝黑客愉快!