ホームページ > バックエンド開発 > PHPの問題 > PHPで配列の結合を見つける方法

PHPで配列の結合を見つける方法

PHPz
リリース: 2023-04-18 13:55:53
オリジナル
809 人が閲覧しました

PHP の配列は、一連のデータを保存できる非常に便利なデータ構造であり、配列内のインデックスまたはキーを通じて配列内の要素にアクセスできます。実際の開発プロセスでは、複数の配列の要素を結合して新しい配列を形成するために、配列結合操作を実行する必要があることがよくあります。この記事では、PHP の配列関数を使用して配列の結合操作を実行し、複数の配列のコレクションを取得する方法を学びます。

1. PHP の配列

PHP では、配列は非常に一般的に使用されるデータ構造であり、同じ型のデータのセットを格納するために使用できます。配列内の各要素それぞれにインデックス値またはキー値があり、これらの値を通じて配列内の要素にアクセスできます。

PHP で配列を定義する 2 つの方法は次のとおりです:

1. array() 関数を使用して配列を作成します

$arr = array('a ', 'b ', 'c');

2. [] 記号を使用して配列を作成します

$arr = ['a', 'b', 'c '];

PHP では、配列には文字列、整数、浮動小数点数、ブール値、オブジェクトなど、あらゆる種類のデータを格納できます。さらに、PHP には、以下に示すように、配列を操作するための便利な関数も多数提供されています。

2. PHP の配列マージ関数

PHP には、配列を処理するための非常に便利な関数がいくつか用意されており、複数の配列内の要素を結合することは非常に一般的な操作です。以下は、PHP での配列の結合操作に使用される関数の紹介です:

1.array_merge() 関数

array_merge() 関数は、PHP で配列を結合するための最も一般的な関数です。 2 つの結合 1 つ以上の配列が 1 つの配列に結合されます。 array_merge() 関数の使用法は次のとおりです。

$arr1 = array('a', 'b', 'c');
$arr2 = array('d', 'e' , ' f');
$result = array_merge($arr1, $arr2);

上記のコードは、2 つの配列 $arr1 と $arr2 をマージし、結果を $result に保存します。配列内で。

array_merge() 関数はインデックス配列のみを処理でき、連想配列は処理できないことに注意してください。連想配列を処理する必要がある場合は、array_merge_recursive() 関数を使用する必要があります。

2.array_merge_recursive() 関数

array_merge_recursive() 関数は array_merge() 関数に似ており、2 つ以上の配列をマージするためにも使用できます。違いは、連想配列をマージできることです。

$arr1 = array('a' => 'リンゴ', 'b' => 'ボール');
$arr2 = array('c' => '猫', 'd' => 'dog');
$result = array_merge_recursive($arr1, $arr2);

上記のコードは、2 つの連想配列 $arr1 と $arr2 をマージし、保存します。 $result 配列内の結果。

array_merge_recursive() 関数は配列を再帰的にマージし、他の配列が配列内にネストされている場合でもマージ操作は正しく実行できることに注意してください。

3.array_combine() 関数

array_combine() 関数は、2 つの配列を結合して連想配列にすることができます。最初の配列の値は連想配列のキー値として使用されます。 2番目 配列内の値が連想配列の要素値として使用されます。以下は array_combine() 関数の使用法です:

$keyArr = array('a', 'b', 'c');
$valArr = array('apple', 'ball' , ' cat');
$result = array_combine($keyArr, $valArr);

上記のコードは、キー名 $a、$b、$c を持つ連想配列を生成します。対応する値は $apple、$ball、$cat です。

4.array_replace() 関数

array_replace() 関数を使用すると、キー名に基づいて配列の結合操作を実行できます。 2 つ以上の配列の要素を 1 つの配列に結合し、同じ名前のキーの値を置き換えます。キーがいずれかの配列にのみ出現する場合、キーの値は置き換えられません。 array_replace() 関数の使用法は次のとおりです:

$arr1 = array('a' => 'apple', 'b' => 'ball');
$arr2 = array (' b' => 'bat', 'c' => 'cat');
$result = array_replace($arr1, $arr2);

上記のコードは 2 つを関連付けます配列 $arr1 と $arr2 がマージされ、キー値 $b を持つ要素が $bat に置き換えられます。

5.array_intersect() 関数

array_intersect() 関数は、複数の配列の共通部分を取得するために使用できます。つまり、複数の配列に同時に出現する要素のみを保持します。 array_intersect() 関数の使用法は次のとおりです。

$arr1 = array('a', 'b', 'c');
$arr2 = array('b', 'c' , ' d');
$arr3 = array('c', 'd', 'e');
$result = array_intersect($arr1, $arr2, $arr3);

# #Above このコードは、3 つの配列の共通部分 ($c 要素) を取得します。

6.array_diff() 関数

array_diff() 関数は、複数の配列の差分セットを取得するために使用されます。つまり、最初の配列にのみ表示され、他の配列には表示されません。 . 要素。 array_diff() 関数の使用法は次のとおりです。

$arr1 = array('a', 'b', 'c');

$arr2 = array('b', 'c' , ' d');
$arr3 = array('c', 'd', 'e');
$result = array_diff($arr1, $arr2, $arr3);

上記のコードは、$arr1 にのみ現れる要素、つまり $a 要素を取得します。

3. PHP 配列コレクションの例

上記の知識があれば、複数の配列のコレクションを求める PHP コードを実装できます。コードの実装は次のとおりです。

function array_union(...$arrays) {

$res = array();
foreach($arrays as $arr) {
    $res = array_merge_recursive($res, $arr);
}
return $res;
ログイン後にコピー

}

上記のコードでは、変数パラメーター (...) を使用して、複数の配列。この関数では、foreach ループを使用してすべての受信パラメーター配列を走査し、array_merge_recursive() 関数を使用してそれらをマージし、最後にマージされた結果の配列を返します。

この関数を使用すると、次のように呼び出して、複数の配列のコレクションを解決できます:

$arr1 = array('a' => 'apple', ' b' = > 'ボール');
$arr2 = array('b' => 'コウモリ', 'c' => '猫', 'd' => '犬');
$ arr3 = array('c' => '猫', 'd' => '鹿', 'e' => '象');
$result = array_union($arr1, $ arr2, $ arr3);

上記のコードは 3 つの連想配列をマージし、すべての要素を含む連想配列を返します。

概要

配列は PHP の非常に重要なデータ構造です。多くの場合、コレクションを取得するために複数の配列をマージする必要があります。この記事では、array_merge()、array_merge_recursive()、array_combine()、array_replace()、array_intersect()、array_diff() など、PHP の便利な配列関数をいくつか紹介します。複数の配列の和集合を見つける関数も実装しました。読者は、必要に応じて配列演算を実行するために適切な関数を選択できます。

以上がPHPで配列の結合を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート