PHP の多次元配列を反復処理する方法
PHPの多次元配列を反復処理する方法
- ループの入れ子を活用します。複数次元の配列を走査するには、2つ以上のforeachループを入れ子にします。外側のループで最初の次元の配列を走査し、中側のループで2番目の次元の配列を走査します。
$array = array(
array('a', 'b', 'c'),
array('d', 'e', 'f'),
array('g', 'h', 'i')
);
foreach ($array as $subArray) {
foreach ($subArray as $item) {
echo $item . ' ';
}
echo '
';
}
- 再帰関数を利用する:多次元配列を処理するには、再帰関数を作成する。この関数は、サブ配列に出会うとサブ配列に対しても処理するため、再帰的に自身を呼び出す。
function traverseArray($array) {
foreach ($array as $item) {
if (is_array($item)) {
traverseArray($item);
} else {
echo $item . ' ';
}
}
}
$array = array(
array('a', 'b', 'c'),
array('d', 'e', 'f'),
array('g', 'h', 'i')
);
traverseArray($array);
- 配列を再帰的に処理する関数を活用しましょう。array_walk_recursive 関数は多重配列を走査し、各要素に指定した関数を適用できます。
$array = array(
array('a', 'b', 'c'),
array('d', 'e', 'f'),
array('g', 'h', 'i')
);
array_walk_recursive($array, function($item) {
echo $item . ' ';
});
以上は、PHP の多次元配列を反復処理するための一般的な方法です。実際の状況に応じて、適切な方法を選択してください。