我有这段代码
$value = get_post_meta( $post->ID, 'allSet', true );
//echo $value prints {"0":{"typ":"","pocet":"1","nazev":"asfdsaf"}}
$neco = '{"0":{"typ":"","pocet":"1","nazev":"asfdsaf"}}';
$neco = json_decode($value, true);
print_r($neco);
所以它什么都不打印,var_dump打印出来。
但如果我尝试解码json_decode($neco);
,它会按原样打印数组。
当 $ value和$ neco 具有相同的值时,有人知道这里有什么问题吗?
非常感谢您的帮助
答案 0 :(得分:1)
你的代码中有一个拼写错误。试试这个
$neco = '{"0":{"typ":"","pocet":"1","nazev":"asfdsaf"}}';
$value= json_decode($neco, true);
print_r($value);
您尝试过$neco = json_decode($value, true);
。 json_decode必须是$neco
而不是$value
,因为您在变量$neco
中拥有json,因为您在进行解码之前正在初始化它。因此,您必须解码$neco
而不是$value
。
答案 1 :(得分:0)
你需要传递json字符串来解码,即
json_decode($neco, true);
答案 2 :(得分:0)
更改此
$value = get_post_meta( $post->ID, 'allSet', true );
到
$value = get_post_meta( $post->ID, 'allSet', false );
如果我们将值设置为true,它将只返回单个参数,而不是数组