2016-12-27 3 views
-1

私は追加の算術値を取得し、私は本当に理由を知りません。これは私の多次元配列に使用する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 &配列には追加の層[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

関連する問題