PHP 開発では、配列を 2 次元配列と 1 次元配列に変換する必要がよくありますが、この記事では、1 次元配列を 2 次元配列に変換する方法について説明します。
1 次元配列と 2 次元配列の基本概念
PHP では、配列は複数の値を格納できる特別な変数です。 1 次元配列は最も単純な配列タイプであり、各要素には値が 1 つだけ含まれます。 2 次元配列は、複数の 1 次元配列を含む順序付けされたデータのコレクションです。
1 次元配列を 2 次元配列に変換する方法
PHP では、1 次元配列を 2 次元配列に変換する方法が多数あります。以下に、一般的に使用されるいくつかの方法を紹介します。
方法 1: for ループを使用する
次は、1 次元配列を 2 次元配列に変換する例です。
<?php $arr = ['a', 'b', 'c', 'd', 'e', 'f']; $rows = 2; $cols = 3; $index = 0; for ($i = 0; $i < $rows; $i++) { for ($j = 0; $j < $cols; $j++) { if (isset($arr[$index])) { $result[$i][$j] = $arr[$index]; $index++; } else { break; } } } print_r($result); ?>
コード内の $ arr は変換する必要があるもので、次元配列 $rows と $cols はそれぞれ 2 次元配列の行数と列数を表します。ループでは、配列の添え字を判断して、1 次元配列の要素を 2 次元配列に代入します。最終出力は、変換された 2 次元配列です。
方法 2: array_chunk 関数を使用する
PHP 組み込み関数 array_chunk は、1 次元配列を複数の配列ブロックに分割し、これらのブロックで構成される新しい配列を返すことができます。この関数を使用して、1 次元配列を 2 次元配列に変換できます。サンプル コードは次のとおりです。
<?php $arr = ['a', 'b', 'c', 'd', 'e', 'f']; $cols = 3; $result = array_chunk($arr, $cols); print_r($result); ?>
コード内で、$arr は変換する必要がある 1 次元配列であり、$cols は各 2 次元配列の長さです。 array_chunk関数を使用すると、1次元配列を2次元配列に変換して出力できます。
方法 3: foreach ループを使用する
1 次元配列を 2 次元配列に変換するもう 1 つの方法は、PHP の foreach ループを使用することです。例は次のとおりです。
<?php $arr = ['a', 'b', 'c', 'd', 'e', 'f']; $rows = 2; $cols = 3; $index = 0; foreach (range(1, $rows) as $i) { foreach (range(1, $cols) as $j) { if (isset($arr[$index])) { $result[$i][$j] = $arr[$index]; $index++; } else { break; } } } print_r($result); ?>
コードでは、range 関数を使用して行と列の数を表す配列を作成します。次に、foreach ループ内の添え字を判断して、1 次元配列の値を 2 次元配列に代入します。最終出力は、変換された 2 次元配列です。
方法 4: array_chunk 関数と array_pad 関数を使用する
array_chunk 関数と array_pad 関数を使用して 1 次元配列を 2 次元配列に変換する別の方法は、次のとおりです。
<?php $arr = ['a', 'b', 'c', 'd', 'e', 'f']; $cols = 3; $result = array_chunk($arr, $cols); $last = count($result[count($result) - 1]); if ($last < $cols) { $result[count($result) - 1] = array_pad($result[count($result) - 1], $cols, ""); } print_r($result); ?>
コードでは、まず array_chunk 関数を使用して 1 次元配列を複数の配列ブロックに分割し、次に array_pad 関数を使用して最後の配列ブロックを null 値で埋めます。これにより、1 次元配列から 2 次元配列への変換が実現されます。
概要
この記事では、1 次元配列を 2 次元配列に変換する 4 つの方法を紹介します。実際の開発では、特定のニーズに応じて適切な方法を選択して使用できます。どの方法でも、ループや組み込み関数などを通じて配列変換を実現できます。
以上が1次元配列を2次元配列に変換するphpの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。