出于某種奇怪的原因,我無法將以下 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 并true在函式內部添加將它變成一個 PHP 陣列。
uj5u.com熱心網友回復:
它列印了我問題的第一部分。
因為$sidearr現在是一個字串,再次解碼,你會得到一個陣列。
$sidearr = json_decode($sidearr, true);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/394293.html
