繁体   English   中英

我无法将 JSON 更改为 PHP 数组

[英]I can't change JSON into a PHP array

由于某些奇怪的原因,我无法将以下 JSON 更改为 PHP 数组:

{"sides0":{"name_nl":"Voorkant100","name":"Frontside100","template_overlay":""},"sides1":{"name_nl":"Achterkant100","name":"Backside100","template_overlay":"1"}}

我已经验证了 json 并且它是有效的。

首先,我将$product['sides']发布到我的页面,其中包含:

"{\"sides0\":{\"name_nl\":\"Voorkant100\",\"name\":\"Frontside100\",\"template_overlay\":\"\"},\"sides1\":{\"name_nl\":\"Achterkant100\",\"name\":\"Backside100\",\"template_overlay\":\"1\"}}"

然后我像这样使用 json_decode :

$sidearr = json_decode($product['sides'], true);

如果我这样做:

echo '<pre>';
print_r($sidearr);
echo '</pre>';

它打印了我问题的第一部分。

现在我想循环它,但即使这个测试也没有显示:

foreach($sidearr as $side){
    echo 'test';
}

我尝试测试它是否甚至是一个数组:

echo is_array($sidearr) ? 'Array' : 'not an Array';
echo "\n";

它告诉我它不是一个数组。 这是为什么? 我一直认为在 json 字符串上使用 json_decode 并在 function 中添加true将其转换为 PHP 数组。

它打印了我问题的第一部分。

因为$sidearr现在是一个字符串,再次解码它,你会得到一个数组。

$sidearr = json_decode($sidearr, true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM