JSONコードが正しく読み取れるように、データをフォーマットしようとしています。最終結果は次のようになります。
[2][4][36] = 'Ohio'
ここで、'2' は地域 ID、'4' は部門 ID、'36' は州 ID です。明らかに、選択された地域と部門に基づいてさまざまな結果が得られますが、上記のようにすべての結果を返す必要があります。
以下のコードから得た結果は、最後の反復のみを返します。私は何が間違っているのだろうかと思っています:
$divisionCodeResults = array();
foreach($regionCodes as $key => $value){
$divisionCodeResults[$key] = $divisionTable->getDivisionResultsByRegionCode($key);
foreach($divisionCodeResults as $divValue){
$array_1 = array();
foreach($divValue as $divKey => $div2Value){
$array_1[$divKey] = $divKey;
$array_2 = array();
foreach($array_1 as $array_1_value){
$array_2[$key][$divKey] = Doctrine_Core::getTable('state')->getStatesIdAndNamesThatMatchDivisionKey($array_1_value);
}
}
}
}
上記の var_dump() は次を出力します。
array (size=1)
6 =>
array (size=1)
11 =>
array (size=2)
52 => string 'Puerto Rico' (length=11)
54 => string 'Virgin Islands' (length=14)
これは正しくフォーマットされていますが、前述のように、長い多次元配列の最後の反復のみを返しています。
私が間違っていることの説明をいただければ幸いです...事前に感謝します。
編集:
array (size=5)
2 =>
array (size=2)
4 => string 'East North Central' (length=18)
5 => string 'West North Central' (length=18)
3 =>
array (size=2)
2 => string 'New England' (length=11)
3 => string 'Mid-Atlantic' (length=12)
4 =>
array (size=3)
6 => string 'South Atlantic' (length=14)
7 => string 'East South Central' (length=18)
8 => string 'West South Central' (length=18)
5 =>
array (size=2)
9 => string 'Mountain' (length=8)
10 => string 'Pacific' (length=7)
6 =>
array (size=1)
11 => string 'Carribean' (length=9)
上記は次の結果です: var_dump($divisionCodeResults);