PHP では、2 次元配列は一般的なデータ構造であり、複数の 1 次元配列で構成され、各 1 次元配列には複数の要素を含めることができます。場合によっては、より柔軟な操作と処理を行うために、2 次元配列を複数の 1 次元配列に分割する必要があります。この記事では、2次元配列を1次元配列に分割する方法を説明します。
1. foreach ループの使用
PHP では、foreach ループを使用して 2 次元配列を走査し、配列インデックスを通じて対応する 1 次元配列を取得できます。以下は、foreach ループを使用して 2 次元配列を 1 次元配列に分割する例です。
$twoDimensionalArray = array( array('A', 'B', 'C'), array('D', 'E', 'F'), array('G', 'H', 'I') ); $oneDimensionalArray1 = array(); $oneDimensionalArray2 = array(); $oneDimensionalArray3 = array(); foreach ($twoDimensionalArray as $key => $value) { $oneDimensionalArray1[] = $value[0]; $oneDimensionalArray2[] = $value[1]; $oneDimensionalArray3[] = $value[2]; } print_r($oneDimensionalArray1); print_r($oneDimensionalArray2); print_r($oneDimensionalArray3);
この例では、foreach ループを使用して 2 次元配列 $twoDimensionalArray を反復処理し、配列インデックス要素によって各 1 次元配列を取得します。次に、要素の値を対応する 1 次元配列に追加することで、2 次元配列を 3 つの 1 次元配列 $oneDimensionalArray1、$oneDimensionalArray2、$oneDimensionalArray3 に分割します。
2. array_column 関数を使用する
PHP5.5 以降では、array_column 関数を使用して 2 次元配列の列を 1 次元配列に分割できます。以下は、array_column 関数を使用して 2 次元配列を 1 次元配列に分離する例です。
$twoDimensionalArray = array( array('id' => 1, 'name' => 'apple', 'price' => 3.5), array('id' => 2, 'name' => 'banana', 'price' => 2.5), array('id' => 3, 'name' => 'orange', 'price' => 4.0) ); $idArray = array_column($twoDimensionalArray, 'id'); $nameArray = array_column($twoDimensionalArray, 'name'); $priceArray = array_column($twoDimensionalArray, 'price'); print_r($idArray); print_r($nameArray); print_r($priceArray);
この例では、array_column 関数を使用して 2 次元配列の各列を分離します。 $twoDimensionalArray を 1 次元配列 $idArray、$nameArray、$priceArray に変換します。この関数を使用すると、配列を走査するための foreach ループの使用が回避され、より簡潔で保守が容易になります。
3. array_map 関数を使用する
PHP では、array_map 関数を使用して 2 次元配列を複数の 1 次元配列に分割することもできます。以下は、array_map 関数を使用して 2 次元配列を 1 次元配列に分割する例です。
$twoDimensionalArray = array( array(1, 2, 3), array(4, 5, 6), array(7, 8, 9) ); $firstArray = array_map(function($arr) { return $arr[0]; }, $twoDimensionalArray); $secondArray = array_map(function($arr) { return $arr[1]; }, $twoDimensionalArray); $thirdArray = array_map(function($arr) { return $arr[2]; }, $twoDimensionalArray); print_r($firstArray); print_r($secondArray); print_r($thirdArray);
この例では、array_map 関数を使用して、2 次元配列 $twoDimensionalArray を次のように分割します。 3 つの 1 次元配列 $firstArray、$secondArray、$thirdArray。無名関数を使用して、配列内の各 1 次元配列の要素を分離し、新しい 1 次元配列として返します。
上記の 3 つの方法により、2 次元配列を複数の 1 次元配列に分割して、データの操作と処理を容易にすることができます。これらの方法を使用すると、コードの量が削減され、コードの可読性と保守性が向上し、プログラムのパフォーマンスもより効率的になります。
以上が2D配列を1D配列に分割する方法phpの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

WebStorm Mac版
便利なJavaScript開発ツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

メモ帳++7.3.1
使いやすく無料のコードエディター

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック









