【PHP】array_intersect()関数の使い方をサンプルコード付きで解説
この記事では、PHPにあらかじめ用意されている配列関数「array_intersect()」について詳しく解説します。この組み込み関数は、2つ以上の配列の共通部分(積集合)を求めるために使用されます。複数の配列を比較し、すべての配列に存在する要素だけを抽出して返します。具体的には、最初の配列の要素のうち、他のすべての配列にも含まれているものだけが出力されます。
基本構文
array_intersect(array $array1, array ...$rest): array
- $array1:比較元となる配列
- $rest:比較対象となる配列(可変長引数として複数指定可能)
戻り値は、他のすべての配列にも存在する $array1 の値を含む配列です。
サンプルコード
<?php $array1 = array(5, 10, 15, 20, 34); $array2 = array(20, 10, 15, 55, 100); $intersect_array = array_intersect($array1, $array2); print_r($intersect_array); ?>
実行結果
Array ( [1] => 10 [2] => 15 [3] => 20 )
解説
上記の例では、まず2つの配列を宣言し、その後で array_intersect() を実行しています。その結果、「10」「15」「20」という、両方の配列に共通して存在する要素だけで構成された新しい配列が返されました。「5」「34」「55」「100」はどちらか一方にしか存在しないため、結果には含まれていません。
注意点:キーは保持される
array_intersect() の重要な特徴として、要素のキーが保持される点が挙げられます。つまり、出力される配列内の各要素のキーは、元となる最初の配列におけるキーと同じになります。上の例でも、値「10」のキーは最初の配列でのキー「1」のままになっていることが確認できます。
また、この関数は値同士の比較のみを行い、キーの一致までは確認しません。キーも含めて比較したい場合は、array_intersect_assoc() を使用してください。
-
【PHP】array_intersect()関数の使い方 – 配列の共通値を抽出する方法
PHPのarray_intersect()関数は、複数の配列を比較し、すべての配列に共通して存在する値だけを抽出して返す関数です。返される配列には、最初の配列に含まれており、かつ他のすべての引数の配列にも存在する値が格納されます。基本構文array_intersect(arr1, arr2, arr3, arr4, …)パラメータarr1 − 比較元となる配列。必須です。arr2 − 比較対象となる配列。必須です。arr3 − さらに比較したい場合は、追加の配列を指定できます。任意です。arr4 − 同様に、必要に応じて追加の配列を指定できます。任意です。戻り値array_intersect(
-
PHPのarray()関数とは?配列の作成方法をわかりやすく解説
PHPのarray()関数は、配列を作成するための関数です。PHPにおける配列には、主に以下の3種類が存在します。インデックス配列 − 数値インデックス(0から始まる番号)で要素を管理する配列連想配列 − 文字列などの名前付きキーで要素を管理する配列多次元配列 − 配列の中に1つ以上の配列を含む、入れ子構造の配列構文// 数値インデックスを持つ配列(インデックス配列) array(value1, value2, ...); // 名前付きキーを持つ配列(連想配列) array(key1 => value1, key2 => value2, ...)パラメータvalue − 配列に