Php 在解码和获取json值时,我得到了错误?

Php 在解码和获取json值时,我得到了错误?,php,jquery,Php,Jquery,在数据库表中的productoptions Column中,我插入如下值 [{"value":["Color","size",""]},{"Color":["Red","Blue","white"],"size":["L","XL"]},{"type":["Dropdown","Checkbox",""]}] 之后,我得到了选项值 $opt =$value->ProductOptions; 然后,我使用以下代码对json值进行解码 $jsonvalue = json_decode($o

在数据库表中的productoptions Column中,我插入如下值

[{"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] => ) ) )
解码后,我试图获得特定对象(颜色、大小等)

但我的错误如下:

消息:未定义的属性:stdClass::$Color

我得到了价值

value => color,size 
之后需要动态传递上述值并获取

color => red,blue,white 
尝试:


JSON结构有点奇怪,数据和结构混合在一起

但是如果您使用
print\r($jsonvalue)
您可以看到数组和对象的布局,这表明
[0]
项具有
元素,
[1]
具有由值指示的数据,因此

元素中的一个项目是
,这可能会导致问题,因此您可能需要添加一个检查以忽略空项目

foreach ( $jsonvalue[0]->value as $types ) {
    if ( !empty($types) )   {
        echo $types.PHP_EOL;
        print_r($jsonvalue[1]->{$types});
    }    
}
给你

Color
Array
(
    [0] => Red
    [1] => Blue
    [2] => white
)
size
Array
(
    [0] => L
    [1] => XL
)

使用此代码后,我得到错误代码:消息:未定义属性:stdClass::$0尝试使用数组而不是对象
$jsonvalue=json\u decode($opt)
$jsonvalue=json\u解码($opt,true)
打印($vales->{$key})
打印($vales[$key])
foreach ( $jsonvalue[0]->value as $types ) {
    if ( !empty($types) )   {
        echo $types.PHP_EOL;
        print_r($jsonvalue[1]->{$types});
    }    
}
Color
Array
(
    [0] => Red
    [1] => Blue
    [2] => white
)
size
Array
(
    [0] => L
    [1] => XL
)