PHP は 2 つの配列の違いを見つけます

WBOY
リリース: 2023-05-19 11:47:37
オリジナル
1194 人が閲覧しました

PHP では、2 つの配列間の違いを見つけることは非常に一般的な操作です。差分セットは、2 つの配列内の異なる要素で構成される新しい配列を指します。

2 つの配列の差分を実装するには、PHP が提供する array_diff() 関数を使用できます。 array_diff() 関数は、2 つ以上の配列をパラメータとして受け取り、他の配列とは異なる最初の配列の要素で構成される新しい配列を返します。

次の例は、array_diff() 関数を使用して 2 つの配列の差分を見つける方法を示しています。

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(1, 3, 5, 7, 9);
$diff = array_diff($array1, $array2);
print_r($diff);
ログイン後にコピー

上の例では、2 つの配列 $array1 と $array2 を定義しました。 。 array_diff() 関数を使用して 2 つの配列の差分を見つけ、結果は $diff 変数に保存されます。最後に、print_r() 関数を使用して $diff 配列の内容を出力します。

上記の例の出力は次のとおりです:

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

出力結果からわかるように、差分セットの結果は 2 と 4 です。これら 2 つの要素は $array1 にありますが、$array1 にはありません。 $array2 にあります。

array_diff() 関数の使用に加えて、ループを使用して 2 つの配列の差分を実装することもできます。以下は、ループを使用して差分セットを実装するサンプル コードです。

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(1, 3, 5, 7, 9);
$diff = array();
foreach ($array1 as $value) {
    if (!in_array($value, $array2)) {
        $diff[] = $value;
    }
}
print_r($diff);
ログイン後にコピー

上の例では、foreach ループを使用して、$array1 配列内の各要素を走査します。ループ本体内で、in_array() 関数を使用して、現在の要素が $array2 配列に存在するかどうかを判断します。存在しない場合は、現在の要素が $diff 配列に追加されます。最後に、print_r() 関数を使用して $diff 配列の内容を出力します。

上記のサンプル コードの出力結果は、array_diff() 関数を使用した結果と同じです。

Array
(
    [0] => 2
    [1] => 4
)
ログイン後にコピー

ループを使用して差分セットを実装するコードですが、より複雑ですが、場合によっては、より効率的になる可能性があります。特に配列内の要素が複雑なデータ型である場合、ループを使用すると、ターゲットを絞った差分演算の実装が容易になります。

つまり、PHP で 2 つの配列の違いを見つけるには、array_diff() 関数またはループを使用できます。具体的な選択は実際の状況によって異なります。上記の紹介があなたのお役に立てれば幸いです。

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

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