array_intersect_assoc - 複数の配列の中から共通の要素を確認する
array_intersect_assocは、複数の配列の中から、全ての配列に含まれる共通の要素(キー名と値の組み合わせ)を見つける関数です。比較は、(string)$a===(string)$bで行われます。例えば、数値の1と文字列の"1"は同じになります。多次元配列の場合、一次元のみが比較されます。
構文
パラメータ
$array1
基本の配列。
$array2
比較対象となる配列。
$...
比較対象となる配列は1つだけじゃなく、第3引数以降で指定できる。
返り値
array
全ての配列に含まれる共通の要素(キー名と値の組み合わせ)を集めた配列。
サンプルコード
<?php
$array1 = [
"a" => 1 ,
"b" => 2 ,
"c" => 3 ,
] ;
$array2 = [
"a" => 1 ,
"b" => 4 ,
"c" => 3 ,
] ;
$response = array_intersect_assoc( $array1, $array2 ) ;
デモ
共通の要素を確認する
2つの配列から、キーと値の組み合わせが一致する共通の要素を確認します。
<?php
/*** このコードは編集できます。 ***/
$array1 = [
"a" => 1 ,
"b" => 2 ,
"c" => 3 ,
] ;
$array2 = [
"a" => 1 ,
"b" => 4 ,
"c" => 3 ,
] ;
$response = array_intersect_assoc( $array1, $array2 ) ;
print_r( $response ) ;
3つ以上の配列
第3引数以降を指定することで、3つ以上の配列から共通の要素を確認できます。
<?php
/*** このコードは編集できます。 ***/
$array1 = [
"a" => 1 ,
"b" => 2 ,
"c" => 3 ,
] ;
$array2 = [
"a" => 1 ,
"b" => 2 ,
] ;
$array3 = [
"a" => 1 ,
"b" => 4 ,
"d" => 3 ,
] ;
$response = array_intersect_assoc( $array1, $array2, $array3 ) ;
print_r( $response ) ;
参考
- PHP: array_intersect_assoc
- PHPの公式リファレンス。
関連記事
- array_intersect_key
- 複数の配列の中の共通のキー名を確認する。
- array_uintersect_uassoc
- ユーザー定義のアルゴリズムで、複数の配列の中から共通の要素を確認する。
- array_uintersect_assoc
- ユーザー定義のアルゴリズムで、複数の配列の中から共通の要素を確認する。
- array_intersect
- 複数の配列の中の共通の値を確認する。
- array_uintersect
- ユーザー定義のアルゴリズムで、複数の配列の中の共通の値を確認する。
- array_diff_assoc
- 配列の要素の差異を確認する。