PHP関数アプリケーション配列のマージ
PHP プログラミングでは、配列 (array) は非常に一般的に使用されるデータ型です。 PHP には、配列結合 (マージ) 関数など、配列を操作するための関数が多数用意されています。配列のマージとは、2 つ以上の配列の要素を 1 つの配列に結合することを意味します。この記事では、PHPの配列結合機能とその応用例を紹介します。
- array_merge()
array_merge() 関数は、PHP の最も基本的な配列マージ関数で、2 つ以上の配列の要素を 1 つの配列にマージします。その使用法は次のとおりです。
mixed array_merge ( array $array1 [, array $... ] )
このうち、パラメータ array1 はマージされる最初の配列を表し、次のパラメータ $... はマージされる他の配列を表します。例:
$arr1 = array('apple', 'banana'); $arr2 = array('cat', 'dog', 'elephant'); $result = array_merge($arr1, $arr2); print_r($result);
上記のコードの出力結果は次のとおりです:
Array ( [0] => apple [1] => banana [2] => cat [3] => dog [4] => elephant )
結果からわかるように、関数 array_merge() は 2 つの配列 $arr1 と $ の要素をマージします。 arr2 を配列 $result に新規に挿入し、元の順序で並べます。
マージされた配列内に同じキー名 (key) が存在する場合、後の値が前の値を上書きすることに注意してください。例:
$arr1 = array('a' => 'apple', 'b' => 'banana'); $arr2 = array('a' => 'orange', 'c' => 'cherry'); $result = array_merge($arr1, $arr2); print_r($result);
上記のコードの出力結果は次のとおりです:
Array ( [a] => orange [b] => banana [c] => cherry )
結果からわかるように、配列 $arr2 内のキー名 'a' がキー名 ' をカバーしています。配列 $arr1 ' 内の a' と、キー名 'b' と 'c' の値はマージされません。
- array_merge_recursive()
array_merge() 関数と同様に、array_merge_recursive() 関数も配列をマージするために使用される関数です。違いは、多次元配列を処理し、同じキーを持つ値を単一の配列に再帰的にマージすることです。使用方法は以下の通りです。
mixed array_merge_recursive ( array $array1 [, array $... ] )
例:
$arr1 = array('a' => array('apple'), 'b' => array('banana')); $arr2 = array('a' => array('orange'), 'c' => array('cherry')); $result = array_merge_recursive($arr1, $arr2); print_r($result);
上記コードの出力結果は、
Array ( [a] => Array ( [0] => apple [1] => orange ) [b] => Array ( [0] => banana ) [c] => Array ( [0] => cherry ) )
結果からわかるように, キー名 'a' は に対応します 値は配列です マージする場合、関数 array_merge_recursive() は配列内の値を再帰的にマージします。
マージされた配列に同じキー名が存在する場合、それらの値は 1 つの配列にマージされることに注意してください。例:
$arr1 = array('a' => array('apple'), 'b' => array('banana')); $arr2 = array('a' => array('orange'), 'b' => array('cherry')); $result = array_merge_recursive($arr1, $arr2); print_r($result);
上記コードの出力結果:
Array ( [a] => Array ( [0] => apple [1] => orange ) [b] => Array ( [0] => banana [1] => cherry ) )
結果からわかるように、キー名「a」に対応する値は配列です。 、関数 array_merge_recursive() は、配列内の値を再帰的に結合します。キー名「b」については、同じキー名が存在するため、それらの値を配列にマージします。
- array_replace()
array_replace() 関数は、配列をマージするために使用される関数でもあります。 array_merge() 関数とは異なり、ある配列の値を別の配列の同じキー名で上書きします。その使用法は次のとおりです。
mixed array_replace ( array $array1, array $array2 [, array $... ] )
このうち、パラメータ $array1 は置換対象の配列を表し、パラメータ $array2 は置換に使用される配列を表し、$... は使用されるその他の配列を表します。交換用。例:
$arr1 = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry'); $arr2 = array('a' => 'orange', 'd' => 'durian'); $result = array_replace($arr1, $arr2); print_r($result);
上記のコードの出力結果は次のとおりです:
Array ( [a] => orange [b] => banana [c] => cherry [d] => durian )
結果からわかるように、関数 array_replace() は値 'apple' をキー名 ' に置き換えます。配列 $arr1 の a' 配列 $arr2 のキー名 'a' の値 'orange' になります。
ある配列を使用して別の配列を置き換える場合、配列内に同じキー名の値がある場合、後の値が前の値を上書きすることに注意してください。例:
$arr1 = array('a' => 'apple', 'b' => 'banana'); $arr2 = array('a' => 'orange', 'b' => 'cherry'); $result = array_replace($arr1, $arr2); print_r($result);
上記のコードの出力結果は次のとおりです:
Array ( [a] => orange [b] => cherry )
結果からわかるように、関数 array_replace() は値 'orange' をキー名 ' に置き換えます。配列 $arr2 の a' 配列 $arr1 の値 'apple' が削除され、キー名 'b' を持つ値 'cherry' が配列 $arr1 の値 'banana' に置き換えられます。
要約すると、配列の結合は PHP プログラミングで非常に一般的な操作です。 PHP 配列マージ関数の array_merge()、array_merge_recursive()、および array_replace() を使用すると、配列のマージおよび置換操作を実現して、PHP プログラミングを容易にすることができます。
以上がPHP関数アプリケーション配列のマージの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









foreach ループを使用して PHP 配列から重複要素を削除する方法は次のとおりです。配列を走査し、要素がすでに存在し、現在の位置が最初に出現しない場合は、要素を削除します。たとえば、データベース クエリの結果に重複レコードがある場合、このメソッドを使用してそれらを削除し、重複レコードのない結果を取得できます。

PHP で配列をディープ コピーする方法には、json_decode と json_encode を使用した JSON エンコードとデコードが含まれます。 array_map と clone を使用して、キーと値のディープ コピーを作成します。シリアル化と逆シリアル化には、serialize と unserialize を使用します。

PHP の配列キー値の反転メソッドのパフォーマンスを比較すると、array_flip() 関数は、大規模な配列 (100 万要素以上) では for ループよりもパフォーマンスが良く、所要時間が短いことがわかります。キー値を手動で反転する for ループ方式は、比較的長い時間がかかります。

PHP の array_group_by 関数は、キーまたはクロージャ関数に基づいて配列内の要素をグループ化し、キーがグループ名、値がグループに属する要素の配列である連想配列を返すことができます。

PHP で配列のディープ コピーを実行するためのベスト プラクティスは、 json_decode(json_encode($arr)) を使用して配列を JSON 文字列に変換し、それから配列に戻すことです。 unserialize(serialize($arr)) を使用して配列を文字列にシリアル化し、それを新しい配列に逆シリアル化します。 RecursiveIteratorIterator を使用して、多次元配列を再帰的に走査します。

多次元配列のソートは、単一列のソートとネストされたソートに分類できます。単一列のソートでは、array_multisort() 関数を使用して列ごとにソートできますが、ネストされたソートでは、配列を走査してソートするための再帰関数が必要です。具体的な例としては、製品名による並べ替えや、売上数量や価格による化合物の並べ替えなどがあります。

PHP の array_group() 関数を使用すると、指定したキーで配列をグループ化し、重複する要素を見つけることができます。この関数は次の手順で動作します。 key_callback を使用してグループ化キーを指定します。必要に応じて、value_callback を使用してグループ化値を決定します。グループ化された要素をカウントし、重複を特定します。したがって、array_group() 関数は、重複する要素を見つけて処理するのに非常に役立ちます。

PHP 関数と Flutter 関数の主な違いは、宣言、構文、戻り値の型です。 PHP 関数は暗黙的な戻り値の型変換を使用しますが、Flutter 関数は ? を通じてオプションのパラメータを指定できますが、Flutter 関数は必須パラメータと [] を使用して名前付けパラメータを渡します。 Flutter 関数は、{} を使用して名前付きパラメータを指定します。
