オブジェクトの配列を操作する場合、重複を確実に削除しながら複数の配列を 1 つの配列にマージすることが必要になる場合があります。価値観。これを実現するには、PHP の組み込み配列関数の機能を活用できます。
配列のマージ
array_merge() 関数は、2 つまたはより多くの配列。 2 番目の配列の要素を最初の配列に追加し、両方の要素をすべて含む新しい配列を作成します。この場合、これを使用して 2 つの入力配列 $array1 と $array2 を 1 つの配列にマージできます。
重複の削除
重複した値を削除するには、array_unique() 関数を利用できます。入力配列からの一意の値のみを含む新しい配列を返します。重複は識別され、結果から除外されます。
関数の結合
これら 2 つの関数を結合することで、目的の目標を達成できます。まず array_merge() を使用して 2 つの入力配列をマージし、次に array_unique() を適用して重複値を削除します。
$array = array_unique(array_merge($array1, $array2));
このコード スニペットは、$array1 と $array2 の両方の一意のオブジェクトを含む新しい配列 $array を作成します。重複した電子メールは削除されます。
使用例
次の例を考えてみましょう:
$array1 = [ (object) ["email" => "gffggfg"], (object) ["email" => "example@email.com"], (object) ["email" => "wefewf"], ]; $array2 = [ (object) ["email" => "example@email.com"], (object) ["email" => "wefwef"], (object) ["email" => "wefewf"], ]; $array = array_unique(array_merge($array1, $array2)); print_r($array);
このコードは次の出力を生成します:
Array ( [0] => stdClass Object ( [email] => gffggfg ) [1] => stdClass Object ( [email] => example@email.com ) [2] => stdClass Object ( [email] => wefewf ) [3] => stdClass Object ( [email] => wefwef ) )
ご覧のとおり、重複する電子メールの値「example@email.com」が、結合された配列から削除されています。
以上がPHP でオブジェクト配列をマージし、重複を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。