さまざまな部門の多次元配列があり、foreachループを使用してループしたいのですが、何らかの理由で、foreachループはすべての反復で最初のキーの下の値を取得します。
配列は次のようになります。
$departmentArray =
Array
(
[0] => Array
(
[dpt_id] => 5
[dpt_name] => Administration
[dpt_employees] => Array
(
[0] => Array
(
[started] => 2000-06-01
[stopped] => 9999-99-99
[empl_id] => 21
)
[1] => Array
(
[started] => 2000-06-01
[stopped] => 2010-01-01
[empl_id] => 23
)
)
)
[1] => Array
(
[dpt_id] => 6
[dpt_name] => Warehouse
[dpt_employees] => Array
(
[0] => Array
(
[started] => 2000-10-01
[stopped] => 2012-01-01
[empl_id] => 30
)
[1] => Array
(
[started] => 2007-10-17
[stopped] => 9999-99-99
[empl_id] => 197
)
)
)
)
そして、foreachループは次のようになります。
foreach($departmentArray as $key => $value) {
print_r($key);
print_r($value['dpt_name']);
}
そしてこれは印刷します:
0 Administration 1 Administration.
ループが配列内で前方に移動せず、2回目の反復中にキー/インデックス1の下の値(ウェアハウス)を取得しない理由を誰かが知っていますか?