今日の人気記事

  1. PHPの設定(パスを通す)と動作確認 - Windows10
  2. 文字列 - シングルクォーテーション と ダブルクオーテーション
  3. 10進数 ⇔ 2進数変換 - decbin()、bindec()
  4. 代入演算子 - 変数に値を代入
  5. 定数が定義済みかどうかを確認 - defined()

配列 共通する値を持つ要素を取得 - array_intersect()、array_intersect_assoc()

プログラミング言語PHPで、指定した配列と他の配列の値を比較し、共通する値を持つ要素を取得する関数 array_intersect()、値に加えて、キーも確認する array_intersect_assoc()を紹介します。

array_intersect関数

array array_intersect ( array $array1 , array $array2 [, array $ ... ] )
指定した複数の配列の値を比較し、共通する値を持つ要素を取得します。
後述のarray_intersect_assoc関数は、キーも確認します。
引数
$array1
比較元の配列を指定します。
$array2[, ...]
比較する配列を指定します。
返り値
$array1と$array2[, ...]に共通する値を持つ要素を配列で返します。
返される配列キーは保存されます。

サンプルコード

指定した複数の配列(ここでは、配列1と配列2の2つ)の値を比較し、共通する値を持つ要素を取得するサンプルコードです。

array_intersect( 配列1, 配列2 )
<?php
/* 配列を定義 */
$a = array('Debian', 'Ubuntu', 'CentOS', 'Fedora');
$b = array('Debian', 'Ubuntu', 'CentOS', 'RedHat');

/* 配列を比較 */
print_r( array_intersect($a, $b) );
?>

実行結果です。
配列1($a)と配列2($b)に共通する値を持つ配列要素(ここでは、Debian,Ubuntu,CentOS)が配列で返されます。

Array
(
    [0] => Debian
    [1] => Ubuntu
    [2] => CentOS
)

array_intersect_assoc関数

array array_intersect_assoc ( array $array1 , array $array2 [, array $ ... ] )
指定した複数の配列の値・キーを比較し、共通する値・キーを持つ要素を取得します。
引数
$array1
比較元の配列を指定します。
$array2[, ...]
比較する配列を指定します。
返り値
$array1と$array2[, ...]に共通する値・キーを持つ要素を配列で返します。
返される配列キーは保存されます。

サンプルコード

指定した複数の配列(ここでは、配列1と配列2の2つ)の値を比較し、共通する値・キーを持つ要素を取得するサンプルコードです。

array_intersect_assoc( 配列1, 配列2 )
<?php
/* 配列を定義 */
$a = array('Debian', 'a'=>'Ubuntu', 'b'=>'CentOS', 'Fedora');
$b = array('Debian', 'a'=>'Ubuntu', 'c'=>'CentOS', 'RedHat');

/* 配列を比較 */
print_r( array_intersect_assoc($a, $b) );
?>

実行結果です。
配列1($a)と配列2($b)に共通する値・キーを持つ配列要素(ここでは、Debian,Ubuntu)が配列で返されます。

Array
(
    [0] => Debian
    [a] => Ubuntu
)

関連記事(一部広告含む)