PHP-TO-JSON 没有数组 [0]?
PHP-TO-JSON No Array [0]?
所以,经过漫长的三天,我遇到的另一个问题已经解决,关于 php-to-json 数组。由于修复了上一个问题,将 运行 放入另一个导致使用 foreach 的输出中断的问题。
查看var_dump,似乎有问题:
- 第一个数组没有 0 但包含所有命名键。
- 此后数组编号:0、1 等,但没有命名键。
- 第一个在输出的末尾重复一个连续的整数“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": ""
},
我觉得你对这里的结构有点困惑:
您的数组似乎只有一个元素,该元素是一个巨大的对象。
该对象内部是属性,前三个属性是 muid
、bandname
和 core
。之后的每个 属性 从 0 开始计算,这可能是您混淆的根源。 0
、1
...不是索引,它们实际上是原始对象的属性,您可以看出这一点,因为它们用双引号引起来....
已解决
非常感谢 A.O. 让我注意到对象的 属性 。看起来冲突很简单:
原文:
$meso[]=array();
正确:
$meso=[];
很简单,是吗?值得关注。
正确进入数组后,使用
array_push($meso, [( <--- objects here ---> )]);
产生完美的结果。
用 json_encode 和 voilà 完成函数一个漂亮的输出。
干杯,祝黑客愉快!
所以,经过漫长的三天,我遇到的另一个问题已经解决,关于 php-to-json 数组。由于修复了上一个问题,将 运行 放入另一个导致使用 foreach 的输出中断的问题。
查看var_dump,似乎有问题:
- 第一个数组没有 0 但包含所有命名键。
- 此后数组编号:0、1 等,但没有命名键。
- 第一个在输出的末尾重复一个连续的整数“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": ""
},
我觉得你对这里的结构有点困惑:
您的数组似乎只有一个元素,该元素是一个巨大的对象。
该对象内部是属性,前三个属性是 muid
、bandname
和 core
。之后的每个 属性 从 0 开始计算,这可能是您混淆的根源。 0
、1
...不是索引,它们实际上是原始对象的属性,您可以看出这一点,因为它们用双引号引起来....
已解决
非常感谢 A.O. 让我注意到对象的 属性 。看起来冲突很简单:
原文:
$meso[]=array();
正确:
$meso=[];
很简单,是吗?值得关注。 正确进入数组后,使用
array_push($meso, [( <--- objects here ---> )]);
产生完美的结果。 用 json_encode 和 voilà 完成函数一个漂亮的输出。
干杯,祝黑客愉快!