ホームページ > バックエンド開発 > PHPチュートリアル > PHPは2つの配列の差分配列を返します

PHPは2つの配列の差分配列を返します

王林
リリース: 2024-03-21 09:40:01
転載
825 人が閲覧しました

php エディタ Xigua は、PHP を使用して 2 つの配列の差分配列を返す方法を紹介します。差分配列とは、2 番目の配列にない要素を最初の配列から取得することによって形成された新しい配列を指します。この機能は、array_diff() 関数を使用することで簡単に実現できます。引数として 2 つの配列を渡すだけで、関数は差分セットの要素を含む新しい配列を返します。この方法は非常に便利で高速であり、さまざまな配列操作の問題を処理するのに適しています。

PHP を使用して 2 つの配列の差分配列を返す方法

php では、array_diff() 関数を使用して 2 つの配列の差分を返すことができます。この関数は 2 つの配列を引数として受け取り、最初の配列のうち 2 番目の配列にはないすべての要素を含む新しい配列を返します。

######文法:######

array_diff(array1, array2);

パラメータ:
ログイン後にコピー

array1

: 要素が削除される配列。
  • array2: 削除する要素が配置されている配列。
  • 戻り値:

array1 の要素のうち

array2

にはないすべての要素を含む新しい配列。 ######例:###### $配列1 = [1, 2, 3, 4, 5]; $array2 = [2, 4]; $diff = array_diff($array1, $array2); print_r($diff); // 出力: Array ( [0] => 1 [1] => 3 [2] => 5 ) 上記の例では、

array_diff()

関数は、array1 の要素 1、3、および 5 を含む新しい配列を返します。これらの要素は

array2 にないためです # ##真ん中。
ログイン後にコピー

カスタム比較関数: array_udiff() 関数を使用して比較関数をカスタマイズし、最初の配列からどの要素を削除するかを決定できます。 ######文法:######

array_udiff(array1, array2, callback);

パラメータ:

array1

: 要素が削除される配列。

array2
: 削除する要素が配置されている配列。 
ログイン後にコピー

callback: 2 つの要素をパラメータとして受け取り、-1 (最初の要素を削除する必要がある場合)、0 (2 つの要素が等しい場合)、または 1 を返すユーザー定義の比較関数。 2 番目の要素は削除する必要があります。

    ######例:######
  • $配列1 = [ ["名前" => "ジョン"、"年齢" => 30]、 ["名前" => "メアリー"、"年齢" => 25]、 ["名前" => "ボブ"、"年齢" => 40]、 ]; $array2 = [ ["名前" => "メアリー"、"年齢" => 25]、 ]; $diff = array_udiff($array1, $array2, function ($a, $b) { return strcmp($a["名前"], $b["名前"]); }); print_r($diff); // 出力: Array ( [0] => Array ( [name] => John [age] => 30 ) [1] => Array ( [name] => Bob [年齢] => 40 ) ) 上記の例では、
  • array_udiff()
  • 関数を使用して、配列内のオブジェクトの name 属性を比較します。
  • array1
  • のすべての name プロパティと
  • array2
のさまざまなオブジェクトを含む新しい配列を返します。

######知らせ:######

  • array_diff() 関数と array_udiff() 関数は、配列内の同じ インデックス を持つ要素のみを比較します。
  • 2 つの配列のキーが異なる場合、これらのキーは無視され、同じキーを持つ要素のみが比較されます。
  • array_keys() または array_values() 関数を使用して、配列のすべてのキーまたは値のリストを取得し、さまざまな基準に基づいて配列を比較できます。基準。

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

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