SYNCERのロゴ
アイキャッチ画像

array_intersect_key - 複数の配列の中の共通のキー名を確認する

array_intersect_keyは、複数の配列の中から、全ての配列に含まれる共通のキー名を見つける関数です。比較は、(string)$a===(string)$bで行われます。例えば、数値の1と文字列の"1"は同じになります。多次元配列の場合、一次元のみが比較されます。

構文

array array_intersect_key ( array $array1 , array $array2 [, array $... ] )

パラメータ

$array1

基本の配列。

$array2

比較対象となる配列。

$...

比較対象となる配列は1つだけじゃなく、第3引数以降で指定できる。

返り値

array

全ての配列に含まれる共通のキー名を集めた配列。返り値の配列は、第1引数に指定した配列の要素で構成される。

サンプルコード

<?php
	$array1 = [
		"a" => 1 ,
		"b" => 2 ,
		"c" => 3 ,
	] ;

	$array2 = [
		"a" => 4 ,
		"b" => 5 ,
		"e" => 6 ,
	] ;

	$response = array_intersect_key( $array1, $array2 ) ;

デモ

共通のキー名を確認する

2つの配列で共通するキー名を確認します。キー名だけが比較対象なので値の差異は無視されます。返り値は第1引数配列の要素で構成されます。

<?php
/*** このコードは編集できます。 ***/

	$array1 = [
		"a" => 1 ,
		"b" => 2 ,
		"c" => 3 ,
	] ;

	$array2 = [
		"a" => 4 ,
		"b" => 5 ,
		"e" => 6 ,
	] ;

	$response = array_intersect_key( $array1, $array2 ) ;

	print_r( $response ) ;
Array
(
    [a] => 1
    [b] => 2
)

3つ以上の配列

第3引数以降を指定することで、3つ以上の配列から共通のキー名を確認できます。

<?php
/*** このコードは編集できます。 ***/

	$array1 = [
		"a" => 1 ,
		"b" => 2 ,
		"c" => 3 ,
	] ;

	$array2 = [
		"a" => 4 ,
		"b" => 5 ,
	] ;

	$array3 = [
		"a" => 6 ,
		"c" => 7 ,
	] ;

	$response = array_intersect_key( $array1, $array2, $array3 ) ;

	print_r( $response ) ;
Array
(
    [a] => 1
)
  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2017年6月21日 (水)
コンテンツを公開しました。