我有以下问题:
我有一个PHP数组,看起来像这样:
$array = [
[
['sales_count' => '2'],
['customer_id' => '1'],
],
[
['sales_count' => '3'],
['customer_id' => '2'],
]
];
现在,如果我在这个数组上使用json_encode,我会得到以下结果:
[[{"sales_count":"2"},{"customer_id":"1"}],[{"sales_count":"3"},{"customer_id":"2"}]]
但是,我尝试获得以下输出:(平面关联数组的数组)
[{"sales_count":"2","customer_id":"1"},{"sales_count":"3","customer_id":"2"}]
5条答案
按热度按时间f87krz0w1#
这是因为在原始数组中的索引0和1上有两个数组
你需要做这样的事
$masterArray
的语法可能错误,但请遵循概念。hts6caw32#
阵列上的内容应该是:
让你达到预期的产出。
不过如果数组正确,您可以通过访问json对象
zpgglvta3#
我来自越南。我的英语不好。所以,我写了这段代码。我希望这对你有帮助。
klr1opcd4#
你可以重新构造它们,然后把它们放到一个新的里面。例如:
或者只是一个简单的循环,只是简单地,把他们推进去:
如上所示的输出示例。
zf9nrax15#
要扁平化每个"行"中的深度关联数据,前面的答案都不起作用。提供的其他技术只是扁平化数据,使其成为单元素关联行的数组(或者更糟糕的是,在扁平化时破坏关联关系)。为了记录在案,动态扁平化数组的第一级更简洁地编码为
array_merge(...$array)
。相反,你必须迭代所有的行,特别是合并它们的子数组。这将使深层结构扁平化,这样行就有了两个关联元素。这就是问题的真正含义。
代码:(Demo)