2016-12-27 89 views
-1

我得到一個額外的arraydimension,我不知道爲什麼。這是我用於我的多維數組的php代碼。JSON維度太深

$json_arr = array(
     "a" => "0", 
     "b" => 1, 
     "c" => 2); 

$json_arr_d = array(); 
for ($i=0; $i<$rows*$cols; $i++) { 
    $json_arr_d[] = array(
     "d1" => "$i", 
     "d2" => "0", 
     "d3" => rand(0, 2) 
    ); 
} 

$json_arr_e = array(); 
for ($i=0; $i<6; $i++) { 
    $json_arr_e[] = array(
     "e1" => $i, 
     "e2" => "0", 
     "e3" => rand(0, 1), 
     "e4" => false 
    ); 
} 

$json_arr[] = array("d" => $json_arr_d); 
$json_arr[] = array("e" => $json_arr_e); 

$json = json_encode($json_arr); 

正如你在下面的結果中看到的那樣。我的d & e陣列還有其他圖層[0]和[1]。

{ 
    "a":"ABXD", 
    "b":5, 
    "c":6, 
    "0":{ // HERE IS THE PROBLEM 
     "d":[ 
     { 
      "d1":"0", 
      "d2":"1", 
      "d3":1 
     }, 
     { 
      "d1":"1", 
      "d2":"2", 
      "d3":1, 
     } 
    }, 
    "1":{ // HERE IS THE PROBLEM 
     "d":[ 
     { 
      "d1":"0", 
      "d2":"1", 
      "d3":1, 
      "d4":false 
     }, 
     { 
      "d1":"1", 
      "d2":"2", 
      "d3":0, 
      "d4":false 
     } 
    ] 
} 

也許我犯困已經,這是一個非常簡單的解決方案或我的方式來增加數組是根本錯誤的。

+0

@Barmar我說過你,我不是故意要回答。 ':)' –

回答

2

不要推到陣列上,分配給你想要的鍵。

$json_arr['d'] = $json_arr_d; 
$json_arr['e'] = $json_arr_e; 
+0

就是這樣!非常感謝你! – Mathy

+0

@Mathy將此答案標記爲正確 – matiaslauriti