2012-04-04 29 views
0

它不是一個問題,因爲我已經解決了這個問題,但我卡住了修復,我想知道爲什麼你需要在PHP中多加json_encode multidimenail數組例如,當你在ajax調用中將它返回給javascript時。雙重編碼PHP多維數組發送到JavaScript

我的數組

$jsonData = array('foo', 'bar'); 
$jsonData['catOne'][] = array('foo two', 'bar two'); 

PHP

return json_encode(json_encode($jsonData)); 
+0

呃...這是不需要的。 – kirilloid 2012-04-04 17:44:36

+0

您能發佈單編碼和雙編碼結果的輸出嗎? – jprofitt 2012-04-04 17:44:58

+0

你不必... – knittl 2012-04-04 17:45:38

回答

3

你並不需要。該json_encode穿過最深的元素和JSON將被完全編碼:

$arr = array(
    1 => array(5,6,7), 
    2 => array(4,3,2), 
); 

var_dump(json_encode($arr)); 

的輸出是:

string(25) "{"1":[5,6,7],"2":[4,3,2]}" 

如果你嘗試:

var_dump(json_encode(json_encode($arr))); 

輸出將是:

string(31) ""{\"1\":[5,6,7],\"2\":[4,3,2]}"" 

看到區別?

+0

以及當我做鈦手機的HTTP請求,並使用單個json_encode它不會加載,但如果我使用雙倍它會 – 2012-04-04 17:51:43