前回の記事では、配列を比較して同じ要素(交差部分)を求める方法を紹介しましたので、興味のある方はこちらをご覧ください→「PHP配列学習: 2つの配列を比較して見つける方法」交差点###"。交点が求まるので差分集合も求まりますが、差分集合はどうやって求めるのでしょうか?この記事では、PHP で配列を比較して異なる要素 (差分セット) を取得するいくつかの方法を紹介します。
前回の記事と同様に、まず 2 つの配列を比較して差分を求める関数を見てみましょう。PHP には複数の関数が組み込まれています。この記事では主によく使用される 3 つの関数、array_diff()、 array_diff_key()、array_diff_assoc() では、それぞれ「キー値」、「キー名」、「キー値とキー名」に関して配列を比較し、差分配列を返します。差分要素は、比較された配列から取得されます (最初のパラメータ)。 無駄に理解するのは難しいので、コード例を使用して、array_diff()、array_diff_key()、および array_diff_assoc() がどのように配列を比較し、相違点を見つけるかを見てみましょう。 次の 2 つの配列があります:$arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow");
1. array_diff() 関数を使用します -- 配列のキー値を比較します
array_diff($arr1,$arr2...)関数は配列のキー値のみを比較し、差分配列を返します。差分配列の要素は比較された配列に存在します
$arr1 にはありますが、他のパラメータ配列
$arr2... には存在しません。
$arr1 配列と
$arr2 配列を比較すると、$ 内にのみ存在するキー値がarr1 配列は「
blue」であるため、出力結果は
2 となります。array_diff_key() 関数を使用して、配列のキー名
array_diff_key($arr1,$arr2...)
この関数は配列のキー名のみを比較し、差分配列も返します。差分配列の要素は、##$arr1 の比較配列# には存在しますが、他のパラメーター配列
$arr2... には存在しません。
$arr1 配列と
$arr2 配列の 2 つのキー名が異なり、配列
$arr1## が使用されています。 # ""c"=>"blue"
" と ""d"=>" yellow"
" という値が取得されるため、出力結果は次のようになります。
関数は配列のキー名とキー値を比較し、差分配列も返します。差分セットの要素は、array_diff() や array_diff() のように比較された配列から取得されます。 array_diff_key() $arr1
から取得します。 上記の例では、
配列と $arr2
配列が比較されており、3 つの異なる要素があり、それらに基づいて値が取得されます。配列 $arr1。" "a"=>"red"
", ""c"=>"blue"
", ""d"=> ;" yellow"
" であるため、出力結果は次のようになります:
わかりました。これですべてです。他に知りたいことがある場合は、これをクリックしてください。 → →
php ビデオ チュートリアル最後に、PHP 配列に関する無料のビデオ チュートリアルをお勧めします。
PHP 関数 配列 配列関数のビデオ説明以上がPHP 配列の学習: 2 つの配列を比較して差分セットを見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。