json_decode,foreach只从json字符串返回一行

时间:2017-08-15 18:50:23

标签: php mysql arrays json foreach

在我的“购物车”表“项目”列中,我存储 json_encoded 字符串。我解码,循环槽并将它们作为一个数组抓取。只要项目具有不同的产品ID-s,它就可以正常工作:

<style name="Base.Widget.AppCompat.EditText" parent="Base.V7.Widget.AppCompat.EditText" /> <style name="Base.V7.Widget.AppCompat.EditText" parent="android:Widget.EditText"> <item name="android:background">?attr/editTextBackground</item> <item name="android:textColor">?attr/editTextColor</item> <item name="android:textAppearance">?android:attr/textAppearanceMediumInverse</item> </style>

但是当项目具有相同的产品ID时,它只显示json字符串中的最后一个, 在这种情况下“大”:

[{"id":"56","size":"Small","quantity":"1"},{"id":"53","size":"Medium","quantity":"2"}]

我为产品做了一个 var_dump ,它说这两个项目在那里,但就像我说它只显示输出中的最后一个。

[{"id":"53","size":"Small","quantity":"1"},{"id":"53","size":"Large","quantity":"2"}]

1 个答案:

答案 0 :(得分:2)

您正在覆盖$x

替换

$x = $item;

$x[] = $item;

在foreach循环之前初始化$x = [];;