PHPで2つの配列から同一の要素を削除する方法

PHPz
リリース: 2023-04-24 09:19:39
オリジナル
956 人が閲覧しました

PHP プログラミングでは、配列は非常に実用的なデータ型です。ただし、2 つの配列から同一の要素を削除する必要がある場合、いくつかの問題が発生する可能性があります。この記事では、2 つの配列から同一の要素を削除する 3 つの方法を紹介します。

方法 1: array_intersect 関数を使用する

array_intersect 関数は PHP の組み込み関数で、2 つ以上の配列間の共通部分を取得するために使用されます。この関数は、両方の配列に存在する要素を含む新しい配列を返します。

これに基づいて、array_diff 関数を通じてこれらの共存要素を削除できます。 array_diff 関数の機能は、2 つの配列の差分を取得し、新しい配列を返すことです。

コード例:

$first_array = array('apple', 'banana', 'orange', 'peach');
$second_array = array('orange', 'pear', 'grape', 'apple');

$intersect_array = array_intersect($first_array, $second_array);
$result_array = array_diff($first_array, $intersect_array);

print_r($result_array);
ログイン後にコピー

実行結果:

Array
(
    [1] => banana
    [3] => peach
)
ログイン後にコピー
ログイン後にコピー

方法 2: array_unique 関数を使用する

array_unique 関数は、PHP の組み込み関数です。 、配列の重複要素を削除するために使用され、新しい配列を返します。

2 つの配列から同じ要素を削除する場合、2 つの配列を新しい配列にマージし、array_unique 関数を使用して重複を削除できます。重複排除後の新しい配列には、元の 2 つの配列とは異なる要素のみが含まれます。

コード例:

$first_array = array('apple', 'banana', 'orange', 'peach');
$second_array = array('orange', 'pear', 'grape', 'apple');

$merged_array = array_merge($first_array, $second_array);
$result_array = array_unique($merged_array);

print_r($result_array);
ログイン後にコピー

実行結果:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => peach
    [5] => pear
    [6] => grape
)
ログイン後にコピー

方法 3: カスタム関数を使用する

PHP の組み込み関数を使用したくない場合関数を使用するだけでなく、2 つの配列から同一の要素を削除する独自の関数を作成することもできます。

この関数の実装は非常に簡単です。最初の配列を走査し、その要素が 2 番目の配列に出現するかどうかを確認するだけで済みます。出現した場合は、最初の配列から要素を削除できます。

コード例:

function remove_duplicate_elements($first_array, $second_array) {
    foreach ($first_array as $key => $value) {
        if (in_array($value, $second_array)) {
            unset($first_array[$key]);
        }
    }
    return $first_array;
}

$first_array = array('apple', 'banana', 'orange', 'peach');
$second_array = array('orange', 'pear', 'grape', 'apple');

$result_array = remove_duplicate_elements($first_array, $second_array);

print_r($result_array);
ログイン後にコピー

実行結果:

Array
(
    [1] => banana
    [3] => peach
)
ログイン後にコピー
ログイン後にコピー

概要

PHP プログラミングでは、2 つの配列から同じ要素を削除するのが一般的な操作です。この記事では、この目標を達成するための 3 つの方法、つまり、array_intersect 関数と array_diff 関数の使用、array_unique 関数の使用、およびカスタム関数を紹介します。実際のニーズに応じてさまざまな方法を選択できます。これらのメソッドの実装は非常に簡単ですが、プログラムの最適化とパフォーマンスを引き続き改善する必要があります。

以上がPHPで2つの配列から同一の要素を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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