2次元配列に変換しますか?
PHP プログラミングでは、データの処理と表示をより便利にするために、1 次元配列を 2 次元配列に変換する必要がある場合があります。たとえば、統計と分析を容易にするために、特定のルールに従って 1 次元配列内のデータをグループ化し、それを 2 次元配列に配置します。この記事では、PHP で 1 次元配列を 2 次元配列に変換する方法と、データをグループ化およびソートする方法を紹介します。
PHP には、配列を複数の小さな配列に分割できる array_chunk() という関数が用意されています。配列には次のものが含まれます。指定された要素数。このうち、パラメータ $size は各小さな配列に含まれる要素の数を表し、パラメータ $preserve_keys は元の配列のキー名を保持するかどうかを指定します。この関数を使用して、1 次元配列を 2 次元配列に変換します。以下はサンプル コードです:
<?php $original_array = array('a', 'b', 'c', 'd', 'e', 'f'); $chunked_array = array_chunk($original_array, 2); // 将原数组按每2个元素分为一个小数组 print_r($chunked_array); ?>
上記のコードの出力は次のとおりです:
Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [0] => c [1] => d ) [2] => Array ( [0] => e [1] => f ) )
array_chunk() 関数を通じて、元の配列を 3 つの小さな配列に分割します。配列には 2 つの要素が含まれます。これにより、1 次元配列が 2 次元配列に変換されます。
array_chunk() 関数を使用することに加えて、for ループを使用してこの変換プロセスを完了することもできます。以下はサンプル コードです。
<?php $original_array = array('a', 'b', 'c', 'd', 'e', 'f'); $chunked_array = array(); $chunk_size = 2; // 每个小数组包含元素数量 $chunk_count = ceil(count($original_array) / $chunk_size); // 小数组数量 for ($i = 0; $i < $chunk_count; $i++) { $chunked_array[$i] = array_slice($original_array, $i * $chunk_size, $chunk_size); } print_r($chunked_array); ?>
上記のコードの出力は、上記の array_chunk() 関数を使用した結果と同じです。この例では、最初に小さな配列の数を数え、次に for ループと array_slice() 関数を使用して元の配列を分割し、$chunked_array 配列に格納します。
1 次元配列を 2 次元配列に変換した後、必要に応じてデータをグループ化および並べ替えることができます。以下はコード例です:
<?php $original_array = array( array('name' => '张三', 'age' => 18, 'gender' => '男'), array('name' => '李四', 'age' => 21, 'gender' => '女'), array('name' => '王五', 'age' => 22, 'gender' => '男'), array('name' => '赵六', 'age' => 19, 'gender' => '女') ); $chunked_array = array_chunk($original_array, 2); // 将原数组按每2个元素分为一个小数组 $sorted_array = array(); foreach ($chunked_array as $chunk) { $sorted_chunk = array(); foreach ($chunk as $item) { $sorted_chunk[(int)$item['age']][] = $item; } ksort($sorted_chunk); $sorted_array[] = $sorted_chunk; } print_r($sorted_array); ?>
上記のコードは、4 つの要素を含む 1 次元配列 $original_array を定義します。各要素は、名前、年齢、性別の 3 つのキーと値のペアを含む連想配列です。元の配列を 2 つの要素ごとに小さな配列に分割し、その小さな配列内の要素を年齢に従って並べ替えると、最終的に次のような構造の 2 次元配列 $sorted_array が得られます。 ## Pass 上記のコードでは、同じグループ内の要素を年齢別にソートし、最終結果を $sorted_array 配列に入れます。
概要
この記事では、array_chunk() 関数と変換のための for ループの使用を含む、PHP で 1 次元配列を 2 次元配列に変換する方法を紹介し、さらに紹介します。データをグループ化して並べ替える方法。実際のプログラミングプロセスでは、必要に応じてデータ処理と表示のためのさまざまな方法を選択できます。
以上がPHPで1次元配列を変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。