PHPのarray_diff()関数とは?構文・パラメータ・サンプルコードで解説
PHPのarray_diff()関数は、複数の配列の値を比較し、その差分を求めるための関数です。最初の配列に含まれていて、他の配列のいずれにも存在しない要素だけを集めた新しい配列を返します。
基本仕様
- 比較されるのは「値」のみで、「キー」は比較対象になりません。
- 返される配列には、元の配列(最初の引数)のキーと値のペアがそのまま保持されます。
- 値の比較は文字列として行われます。
構文
array_diff(arr1, arr2, arr3, arr4, …)
パラメータ
arr1 − 比較元となる基準の配列。必須。
arr2 − 比較対象となる配列。必須。
arr3 − 追加で比較したい配列。省略可能。
arr4 − 追加で比較したい配列。省略可能。
必要に応じて、3つ以上の配列をいくらでも指定できます。
戻り値
array_diff()関数は、最初の配列には存在するが、他の配列のいずれにも存在しない要素だけを含む配列を返します。
使用例
<?php
$arr1 = array("p" => "steve", "q" => "david", "r" => "peter");
$arr2 = array("s" => "steve", "t" => "amy");
$res = array_diff($arr1, $arr2);
print_r($res);
?>
この例では、$arr1と$arr2を比較しています。「steve」は両方の配列に存在するため除外され、$arr1にのみ存在する要素が結果として返されます。
出力結果
Array
(
[q] => david
[r] => peter
)
まとめ
array_diff()関数を使えば、複数の配列から重複しない値を簡単に抽出できます。キーではなく値を比較する点、元のキーが保持される点に注意すれば、データの差分チェックやフィルタリングなど、さまざまな場面で活用できる便利な関数です。
-
PHPのarray_diff()関数とは?構文・パラメータ・サンプルコードで解説
PHPのarray_diff()関数は、複数の配列の値を比較し、その差分を求めるための関数です。最初の配列に含まれていて、他の配列のいずれにも存在しない要素だけを集めた新しい配列を返します。 基本仕様 比較されるのは「値」のみで、「キー」は比較対象になりません。 返される配列には、元の配列(最初の引数)のキーと値のペアがそのまま保持されます。 値の比較は文字列として行われます。 構文 array_diff(arr1, arr2, arr3, arr4, …) パラメータ arr1 − 比較元となる基準の配列。必須。 arr2 − 比較対象となる配列。必須。 arr3 − 追加で比較したい
-
PHPのarray()関数とは?配列の作成方法をわかりやすく解説
PHPのarray()関数は、配列を作成するための関数です。PHPにおける配列には、主に以下の3種類が存在します。インデックス配列 − 数値インデックス(0から始まる番号)で要素を管理する配列連想配列 − 文字列などの名前付きキーで要素を管理する配列多次元配列 − 配列の中に1つ以上の配列を含む、入れ子構造の配列構文// 数値インデックスを持つ配列(インデックス配列) array(value1, value2, ...); // 名前付きキーを持つ配列(連想配列) array(key1 => value1, key2 => value2, ...)パラメータvalue − 配列に