PHP プログラムを開発および作成する場合、多くの場合、配列内の要素を走査し、処理してフロントエンド ページに表示する必要があります。このプロセスでは、場合によっては 3 次元配列、つまりネストされた配列にも配列が含まれる場合があります。ループを使用してこのような 3 次元配列を出力するにはどうすればよいでしょうか?これについては以下で詳しく説明します。
3 次元配列のループ出力の説明を始める前に、まず 3 次元配列の構造を理解する必要があります。 3 次元配列は複数の 2 次元配列で構成され、各 2 次元配列には複数の単一要素配列が含まれます。例は次のとおりです。
$three_dimensional_array = array( array( array(1, 2, 3), array(4, 5, 6), array(7, 8, 9) ), array( array(10, 11, 12), array(13, 14, 15), array(16, 17, 18) ), array( array(19, 20, 21), array(22, 23, 24), array(25, 26, 27) ) );
ご覧のとおり、この 3 次元配列には合計 3 つの 2 次元配列があり、各 2 次元配列には 3 つの単一要素配列があります。
3 次元配列内のすべての要素をループするには、PHP の組み込みの foreach ループ ステートメントを使用できます。例は次のとおりです。
foreach ($three_dimensional_array as $two_dimensional_array) { foreach ($two_dimensional_array as $single_element_array) { foreach ($single_element_array as $value) { echo $value . ' '; } } }
この例では、3 つのネストされた foreach ループ ステートメントを使用して、2 次元配列と 3 次元配列内の単一要素配列をそれぞれ走査し、最後にすべての要素を出力します。 3次元配列の要素。
一般的に使用されるもう 1 つのループ走査方法は、for ループ ステートメントを使用することです。ただし、3 次元配列には複数レベルの配列が入れ子になっているため、for ループを使用するのは少し面倒かもしれません。例は次のとおりです。
for ($i = 0; $i < count($three_dimensional_array); $i++) { $two_dimensional_array = $three_dimensional_array[$i]; for ($j = 0; $j < count($two_dimensional_array); $j++) { $single_element_array = $two_dimensional_array[$j]; for ($k = 0; $k < count($single_element_array); $k++) { echo $single_element_array[$k] . ' '; } } }
この例では、3 レベルのネストされた for ループを使用して、3 次元配列内のすべての要素を走査し、フロントエンド ページに出力します。
PHP には、foreach ステートメントと for ループ ステートメントの使用に加えて、すべての多次元配列要素を直接走査する関数も用意されています。それは array_walk_recursive() です。例は次のとおりです。
function output_single_element($value, $key) { echo $value . ' '; } array_walk_recursive($three_dimensional_array, 'output_single_element');
この例では、配列内の単一要素の値を出力するために使用される、output_single_element という名前のコールバック関数を定義します。次に、array_walk_recursive() 関数を使用して 3 次元配列全体を走査し、単一の配列要素を走査するたびにコールバック関数 Output_single_element() を呼び出して、それをフロントエンド ページに出力しました。
この記事では、ネストされた 3 次元配列内のすべての要素を出力するためによく使用される 3 つのループ ステートメントと関数を紹介します。いずれの方法を使用する場合でも、3 次元配列の構造と各層の配列境界を明確にして、トラバーサル法を使用して配列内の要素を出力することが重要です。
以上がPHPでループを使って3次元配列を出力する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。