PHP を使用した開発プロセスでは、通常、2 次元配列を 1 次元配列に変換する必要に遭遇します。この要件は、実際の開発では非常に一般的です。たとえば、データベース内のデータを処理する必要があります。計算が必要な一部のデータについては、通常、クエリされた 2 次元配列が 1 次元配列に変換され、計算が容易になります。 。
PHP では、2 次元配列を 1 次元配列に変換する方法は非常に簡単で、array_column() 関数を使用して実行できます。 array_column() 関数の使用方法を詳しく見てみましょう。
array_column() 関数の基本的な使用法
array_column() 関数の基本構文は次のとおりです。
array array_column( array $input,mixed $column_key [ 、mixed $index_key ] )
この関数は 3 つのパラメーターを受け入れます。$input パラメーターは変換する配列を指定し、$column_key パラメーターは 1 次元配列に変換する列名またはキー名を指定します。 , $index_key パラメータはオプションであり、新しい配列内のキー名を表すために使用されます。指定しない場合は、数値インデックスが使用されます。
たとえば、次のような 2 次元配列があります:
$users = array(
array('id' => 1, 'name' => 'Tom', 'age' => 20), array('id' => 2, 'name' => 'Jerry', 'age' => 18), array('id' => 3, 'name' => 'Lucy', 'age' => 22)
);
array_column を使用できます。 () 関数を使用して 1 次元配列に変換します:
$names = array_column($users, 'name');
変換結果は次のとおりです:
array ('Tom' , 'Jerry', 'Lucy')
上記の例では、 $users 配列の name フィールドを新しい 1 次元配列に変換しました。
実際の開発では、複数のフィールドを同時に 1 次元配列に変換する必要がある場合がありますが、その場合は、複数のフィールドをそれぞれ 1 次元配列に変換してから結合することができます。たとえば、次のコードは、name フィールドと age フィールドの両方を 1 次元配列に変換します。
$names = array_column($users, 'name');
$ages = array_column($users, 'age') ;
$info = array_merge($names, $ages);
変換された結果は次のとおりです:
array('Tom', 'Jerry', 'Lucy' , 20, 18, 22)
上記の例では、$name 配列と $ages 配列を結合して、新しい 1 次元配列を取得しました。
array_column() 関数の高度な使用法
上で紹介した基本的な使用法に加えて、array_column() 関数にはいくつかの高度な使用法もあります。以下に 1 つずつ紹介します。
- 元の配列をインデックスとして使用する
元の配列のフィールドを新しい配列のインデックスとして使用する必要がある場合があります。この場合は、array_column( ) 関数では、3 番目のパラメーター $index_key を元の配列のフィールド名として指定します。たとえば、上記の $users 配列の id フィールドを新しい配列のインデックスとして使用するには、次のように実行できます。
$users = array(
array('id' => 1, 'name' => 'Tom', 'age' => 20), array('id' => 2, 'name' => 'Jerry', 'age' => 18), array('id' => 3, 'name' => 'Lucy', 'age' => 22)
);
$names = array_column($ users, 'name', 'id');
変換結果は次のとおりです:
array(1 => 'Tom', 2 => ' Jerry', 3 => ; 'Lucy')
ご覧のとおり、新しい配列のキー名は元の配列の id フィールドです。
- 多次元配列の処理
実際の開発では、多次元配列を処理する必要がある状況に遭遇することがあります。この場合、array_map を使用できます。それぞれを変換する () 関数 2 次元配列は 1 次元配列に変換され、array_merge() 関数を使用してそれらが結合され、新しい 1 次元配列が取得されます。例:
$users = array(
array('id' => 1, 'name' => array('first' => 'Tom', 'last' => 'Smith'), 'age' => 20), array('id' => 2, 'name' => array('first' => 'Jerry', 'last' => 'Brown'), 'age' => 18), array('id' => 3, 'name' => array('first' => 'Lucy', 'last' => 'Johnson'), 'age' => 22)
);
$names = array_map(function($user) {
return $user['name']['first'] . ' ' . $user['name']['last'];
}, $users);
$ages = array_column($users, 'age');
$info = array_merge($names, $ages);
変換された結果は次のとおりです:
array( 'Tom Smith', 'Jerry Brown', 'Lucy Johnson', 20, 18, 22)
ご覧のとおり、$users 配列の name フィールドを 1 次元配列に変換すると、 array_map() 関数を使用し、各 2 次元配列を 1 次元配列に変換し、array_merge() 関数を使用してそれらを結合する必要があります。
概要
この記事の導入部を通じて、PHP では 2 次元配列を 1 次元配列に変換するのは非常に簡単で、array_column() 関数を使用するだけであることがわかります。複数のフィールドを 1 次元配列に変換する必要がある場合は、array_column() 関数を複数回使用して、それらを結合します。元の配列のフィールドにインデックスを付ける必要がある場合は、array_column() 関数を呼び出すときに 3 番目のパラメーターを指定できます。多次元配列を処理する必要がある場合は、array_map() 関数を使用して各 2 次元配列を変換できます。配列を 1 次元に変換し、array_merge() 関数を使用してそれらを結合します。
以上がPHPで2次元配列を1次元配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、酸とベースのデータベースモデルを比較し、その特性と適切なユースケースを詳述しています。酸は、財務およびeコマースアプリケーションに適したデータの整合性と一貫性を優先し、ベースは可用性に焦点を当て、

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

記事では、組み込み関数、ホワイトリストアプローチ、サーバー側の検証などの手法に焦点を当てたセキュリティを強化するためのPHP入力検証のベストプラクティスについて説明します。

この記事では、Token BucketやLeaky BucketなどのアルゴリズムやSymfony/Rate-Limiterなどのライブラリを使用するなど、PHPでAPIレート制限を実装するための戦略について説明します。また、監視、動的に調整されたレートの制限、および手をカバーします

この記事では、パスワードを保護するためにPHPでpassword_hashとpassword_verifyを使用することの利点について説明します。主な議論は、これらの関数が自動塩の生成、強力なハッシュアルゴリズム、およびSecurを通じてパスワード保護を強化するということです

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

この記事では、PHPでのXSS攻撃を防ぐための戦略について説明し、入力の消毒、出力エンコード、セキュリティを向上させるライブラリとフレームワークの使用に焦点を当てています。

この記事では、PHPでのインターフェイスと抽象クラスの使用について説明し、それぞれをいつ使用するかに焦点を当てています。インターフェイスは、無関係なクラスや複数の継承に適した、実装なしで契約を定義します。抽象クラスは共通の機能を提供します


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

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

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック









