PHP 開発では、データの保存と処理に 3 次元配列を使用するのが非常に一般的です。配列要素の構造が複雑なため、3 次元配列をクエリする方法も少し複雑になります。ただし、いくつかの基本的なスキルを習得していれば、3 次元配列を簡単に走査したりクエリしたりすることができます。
この記事では、PHP を使用して 3 次元配列をクエリし、配列データをより簡単に処理できるようにする方法を紹介します。
3 次元配列とは何ですか?
PHP では、配列は 2 次元配列、3 次元配列などの多次元にすることができます。 3 次元配列は、複数の 2 次元配列で構成される配列とみなすことができます。ここで、各 2 次元配列は、複数の 1 次元配列で構成される配列です。次のコードを使用して 3 次元配列を定義できます。
$threeDimensionalArray = 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), ), );
上記のコードでは、$threeDimensionalArray という名前の 3 次元配列を定義します。配列は 2 つの 2 次元配列で構成され、各 2 次元配列は 3 つの 1 次元配列で構成されます。各 1 次元配列には 3 つの要素が含まれます。
3 次元配列を走査するにはどうすればよいですか?
3 次元配列を走査するには、for ループと foreach ループという 2 つの方法があります。以下では、これら 2 つの方法をそれぞれ紹介します。
for ループを使用して 3 次元配列を走査します:
for ($i = 0; $i < count($threeDimensionalArray); $i++) { for ($j = 0; $j < count($threeDimensionalArray[$i]); $j++) { for ($k = 0; $k < count($threeDimensionalArray[$i][$j]); $k++) { echo $threeDimensionalArray[$i][$j][$k]; } } }
上記のコードでは、ネストされた 3 つの for ループを使用して 3 次元配列 $threeDimensionalArray を走査します。
foreach ループを使用して 3 次元配列を走査します:
foreach ($threeDimensionalArray as $twoDimensionalArray) { foreach ($twoDimensionalArray as $oneDimensionalArray) { foreach ($oneDimensionalArray as $value) { echo $value; } } }
上記のコードでは、3 次元配列 $threeDimensionalArray を走査するためにネストされた 3 つの foreach ループを使用しました。
3 次元配列をクエリするにはどうすればよいですか?
3 次元配列をクエリするいくつかの異なる方法を紹介しましょう。
インデックスを使用して要素に直接アクセスする:
3 次元配列内の目的の要素の正確な位置がわかっている場合は、次のようにインデックスを使用して要素に直接アクセスできます。
echo $threeDimensionalArray[1][2][1]; // 输出 17
foreach ($threeDimensionalArray as $twoDimensionalArray) { foreach ($twoDimensionalArray as $oneDimensionalArray) { foreach ($oneDimensionalArray as $value) { if ($value == 6) { echo "Found!"; break 3; // 结束所有循环 } } } }
function findElements($element) { return ($element % 2 == 0); } $results = array_filter($threeDimensionalArray, function ($twoDimensionalArray) { return array_filter($twoDimensionalArray, function ($oneDimensionalArray) { return array_filter($oneDimensionalArray, 'findElements'); }); }); print_r($results);
以上がPHPで3次元配列をクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。