PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのarray_diff_assoc()関数とは?キーと値を比較して差分を取得する方法

array_diff_assoc()関数は、配列のキーと値の両方を比較し、その差分を返す関数です。似た関数であるarray_diff()は値のみを比較しますが、array_diff_assoc()ではキーも比較対象に含まれる点が大きな違いです。

基本構文

array_diff_assoc(arr1, arr2, arr3, arr4, …)

パラメータ

  • arr1 − 比較の基準となる配列(必須)。

  • arr2 − 比較対象となる配列(必須)。

  • arr3 − 追加で比較したい配列(任意)。

  • arr4 − 追加で比較したい配列(任意)。以降も同様に複数の配列を指定できます。

戻り値

array_diff_assoc()関数は、配列同士の比較結果を配列として返します。具体的には、arr1に含まれる要素のうち、キーと値の組み合わせが他のどの配列にも存在しないものだけを集めた配列が返されます。

使用例

<?php
   $arr1 = array("p"=>"football","q"=>"cricket","r"=>"hockey");
   $arr2 = array("s"=>"football","t"=>"cricket");
   $res = array_diff_assoc($arr1,$arr2);
   print_r($res);
?>

実行結果

Array
(
   [p] => football
   [q] => cricket
   [r] => hockey
)

解説のポイント

この例では、$arr1と$arr2は「football」や「cricket」という同じ値を持っていますが、キーが異なる("p"と"s"など)ため、これらの要素も差分として検出されています。もし値だけを比較したい場合はarray_diff()を、キーだけを比較したい場合はarray_diff_key()を使うとよいでしょう。

  1. PHPのarray_diff_assoc()関数とは?キーと値を比較して差分を取得する方法

    array_diff_assoc()関数は、配列のキーと値の両方を比較し、その差分を返す関数です。似た関数であるarray_diff()は値のみを比較しますが、array_diff_assoc()ではキーも比較対象に含まれる点が大きな違いです。 基本構文 array_diff_assoc(arr1, arr2, arr3, arr4, …) パラメータ arr1 − 比較の基準となる配列(必須)。 arr2 − 比較対象となる配列(必須)。 arr3 − 追加で比較したい配列(任意)。 arr4 − 追加で比較したい配列(任意)。以降も同様に複数の配列を指定できます。 戻り値 arra

  2. PHPのarray()関数とは?配列の作成方法をわかりやすく解説

    PHPのarray()関数は、配列を作成するための関数です。PHPにおける配列には、主に以下の3種類が存在します。インデックス配列 − 数値インデックス(0から始まる番号)で要素を管理する配列連想配列 − 文字列などの名前付きキーで要素を管理する配列多次元配列 − 配列の中に1つ以上の配列を含む、入れ子構造の配列構文// 数値インデックスを持つ配列(インデックス配列) array(value1, value2, ...); // 名前付きキーを持つ配列(連想配列) array(key1 => value1, key2 => value2, ...)パラメータvalue − 配列に