2014-06-11 133 views
-1

我爲什麼下面的代碼不工作的一些困惑:PHP JSON多維數組

$data_set = array(); 
for($i=1; $i<=3; $i++) 
{ 
    $data_val = array($i, $i*2); 
    $data_set[] = $data_val; 
} 

echo json_encode($data_set); 

我想到的是像

[ [1,2], [2,4], [3,6] ] 

我得到的是一個空字符串。

但是,如果我這樣做

$data_set = array(); 
for($i=1; $i<=3; $i++) 
{ 
    $data_val = array($i, $i*2); 
    $data_set[] = json_encode($data_val); 
} 

echo json_encode($data_set); 

我得到的是這樣的:

[ "[1,2]", "[2,4]", "[3,6]" ] 

所以,好像更深陣列不起作用。 我錯過了什麼?

+5

我試圖運行你的第一個例子,它給了我預期的結果。即'[[1,2],[2,4],[3,6]]' – Drumbeg

+2

你可以做'var_dump($ data_set);'而不是?您的代碼有效:http://3v4l.org/AiL2U – Halcyon

+0

適合我。 – VikingBlooded

回答

0

沒有理由對數組的元素進行轉換,然後將其轉換整個

$data_set = array(); 
for($i=1; $i<=3; $i++) 
{ 
    $data_set[] = array($i, $i*2); 
} 

echo json_encode($data_set);