在数据库表的productoptions列中,我插入如下所示的值:
[{"value":["Color","size",""]},{"Color":["Red","Blue","white"],"size":["L","XL"]},{"type":["Dropdown","Checkbox",""]}]
之后我得到了期权价值
$opt =$value->ProductOptions;
然后使用以下代码解码json值
$jsonvalue = json_decode($opt);
我得到了一个值,如下所示:
Array ( [0] => stdClass Object ( [value] => Array ( [0] => Color [1] => size [2] => ) ) [1] => stdClass Object ( [Color] => Array ( [0] => Red [1] => Blue [2] => white ) [size] => Array ( [0] => L [1] => XL ) ) [2] => stdClass Object ( [type] => Array ( [0] => Dropdown [1] => Checkbox [2] => ) ) )
解码后,我试图得到特定的对象(颜色,大小等)
foreach ($jsonvalue as $key => $values) {
print_r($vales->Color);
}
但我的错误如下:
消息:未定义的属性:标准类::$颜色
我正在获得价值
value => color,size
之后需要动态传递上述值并得到
color => red,blue,white
2条答案
按热度按时间gywdnpxw1#
JSON结构有点奇怪,数据和结构混合在一起。
但是如果使用
print_r($jsonvalue);
,您可以看到数组和对象是如何布局的,这表明[0]
项具有value
元素,[1]
具有由值指示的数据,因此...value
元素中的一个项目是""
,这可能会造成问题,因此您可能想要加入检查以忽略空白项目。给你...
ct3nt3jp2#
试试看: