ホームページ > バックエンド開発 > PHPチュートリアル > PHP で array_diff() 関数を実装して配列の違いを比較する 3 つの方法

PHP で array_diff() 関数を実装して配列の違いを比較する 3 つの方法

不言
リリース: 2023-04-04 16:26:01
転載
3363 人が閲覧しました

この記事では、配列の違いを比較するための PHP の array_diff() 関数の 3 つの実装方法について説明します。一定の参考値があります。必要な友人が参考になれば幸いです。が手伝う。

以下は、PHP の 2 つの配列の差を比較する array_diff() 関数の簡単な紹介です。

PHP 組み込み関数には array_diff() があります。これは、2 つの配列のキー値を比較し、その差を返すことを意味します。

以下は、配列トラバーサルを通じて差分セットを実装するものです:

まず、2 つの異なる配列 $arr_1、$arr_2 があります:

1 つのメソッド:

function fun($arr_1,$arr_2)
{
       foreach ($arr_1 as $key => $val)
      {
              $bool = false;
              foreach ($arr_2 as $k => $v)
             {
                   if($bool = ($val == $v))
                  {
                           break;
                   }
             }
             if(!$bool)
            {
                 $diff[$key] = $val;
             }
       }
}
ログイン後にコピー

この方法は配列間の違いを実現できますが、配列の長さがある程度の長さに達すると効率は楽観的ではありません。

2 つのメソッド:

foreach ($arr_1 as $key => $val)
{
    if(in_array($val,$arr_2))
    {
            unset($arr_1[$key]);
    }
}
ログイン後にコピー

このメソッドは、他のブログでは array_diff() に匹敵すると言われています。

3 つの方法:

「array_flip();」によって arr_2 配列のキー値を反転した後、arr_1 配列の値が arr_2

$arr_2 = array_flip($arr_2);
foreach ($arr_1 as $key => $val)
{
    if(isset($arr_2[$val]))
    {
            unset($arr_1[$key]);
    }
}
ログイン後にコピー
のキーに含まれるかどうかを判断します。

以上がPHP で array_diff() 関数を実装して配列の違いを比較する 3 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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