前回の記事「 複数の配列の積集合を5分で学ぶ3つの方法(まとめ) 」では、PHPの配列操作における複数の配列の積集合を求める関連知識を紹介しました。この記事では、配列演算で複数の配列の差分集合を取得する方法を見ていきます。みんなが助けてくれることを願っています!
前の記事では、複数の配列間の交差部分を取得したい場合は、PHP の array_intersect
関数を使用できることを学びました。 array_intersect_key
関数と array_intersect_assoc
関数は、異なる方法を使用して配列間の共通部分を取得します。 PHPには配列間の共通部分を求める方法があるので、PHPの配列間の差分を求める方法もあります。
配列間の差分を取得する方法は多数ありますが、共通部分を取得するのと同様に、キー値の比較、キー名の比較、キー値とキー名の比較によって配列を比較し、取得することもできます。配列間の違いを設定します。これら 3 つのメソッドの使用法を個別に見てみましょう。
キー値の比較 -<span style="font-size: 20px;">array_diff</span>
関数
PHP では、組み込みの array_diff
関数を使用して、キー値を比較することで配列を比較し、配列間の差分を返します。 array_diff
関数の基本的な構文形式は次のとおりです。
array_diff(array1,array2,array3...);
パラメータ array123 は、比較に使用される配列、返された結果の差分配列、配列内の要素を表すことに注意してください。配列の最初の要素に含まれる配列。返される配列は、他の配列では見つからない最初の配列の値であり、返される配列内のキー名は変更されません。
例を通して array_diff
関数の使用法を見てみましょう。例は次のとおりです:
<?php $fruit1 = array("Apple","Banana","Orange"); $fruit2 = array("Pear","Apple","Grape"); $fruit3 = array("Watermelon","Orange","Apple"); $intersection = array_diff($fruit1, $fruit2, $fruit3); print_r($intersection); ?>
出力結果:
上記の例では、array_diff
関数を使用し、返される結果は配列 1 と他の配列の差です。つまり、返される結果は、配列 1 には存在するが他の配列には存在しない要素そのものです。もちろん、これは要素のキー値を比較していますが、要素のキー名を比較して返される結果の違いを見てみましょう。
キー名の比較 - array_diff_key
関数
PHP では、array_intersect_key
を使用できます。関数 配列間のキー名を比較し、配列間の共通部分を返します。同様に、array_diff_key
関数はキー名を比較し、配列間の差分を返すことができます。
array_diff_key
関数の基本的な構文形式は次のとおりです:
array_diff_key(array1,array2,array3...);
次の点に注意してください: パラメータ array123 は比較する必要がある配列を表し、返された差分配列の要素 これらはすべて配列 1 の要素ですが、他の配列要素にはありません。
次に、例を通して array_diff_key
関数の適用を見てみましょう。例は次のとおりです:
<?php $fruit1 = array("a"=>"Apple","b"=>"Banana","c"=>"Orange"); $fruit2 = array("a"=>"Pear","d"=>"Apple","e"=>"Grape"); $fruit3 = array("a"=>"Watermelon","f"=>"Orange","g"=>"Apple"); $intersection = array_diff_key($fruit1, $fruit2, $fruit3); print_r($intersection); ?>
出力結果:
上記の例では、array_diff_key
関数を使用して配列間のキー名を比較し、差分セットを返します。は配列 1 にあるものとまったく同じです。キー名は、他の配列要素には見つからないキー名です。これはキー名を比較することで行われますが、キー値とキー名を同時に比較する方法を見てみましょう。
キー値とキー名の比較 - array_diff_assoc
関数
PHP では、array_intersect_assoc# を渡すことができます。 # #この関数はキー値とキー名を比較し、配列要素の積部分を結果として返します。
array_diff_assoc 関数と同様に、この関数もキー値とキー名を比較しますが、返される結果は、配列要素の共通部分です。
array_diff_assoc関数の基本的な構文形式は次のとおりです:
array_diff_assoc(array1,array2,array3...);
array_diff_assoc 関数のアプリケーションを見てみましょう。例は次のとおりです:
<?php $fruit1 = array("a"=>"Apple","b"=>"Banana","c"=>"Orange"); $fruit2 = array("a"=>"Pear","d"=>"Apple","e"=>"Grape"); $fruit3 = array("a"=>"Watermelon","f"=>"Orange","g"=>"Apple"); $intersection = array_diff_assoc($fruit1, $fruit2, $fruit3); print_r($intersection); ?>
array_diff_assoc 関数を使用して配列間のキー値とキー名を比較し、差分セットを返します。返される結果は配列 1 の要素そのものですが、他の配列の要素ではありません。
PHP ビデオ チュートリアル 」をクリックして、PHP の知識をさらにご覧ください。
以上が複数の配列の差分セットを取得する 3 つの方法 (コレクション) を学習します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。