首頁  >  文章  >  後端開發  >  php比較兩個陣列的鍵名並傳回交集的函數array_intersect_key()

php比較兩個陣列的鍵名並傳回交集的函數array_intersect_key()

黄舟
黄舟原創
2017-11-07 13:55:472386瀏覽

实例

比较两个数组的键名,并返回交集:

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","c"=>"blue","d"=>"pink");

$result=array_intersect_key($a1,$a2);
print_r($result);
?>

定义和用法

array_intersect_key() 函数用于比较两个(或更多个)数组的键名 ,并返回交集。

该函数比较两个(或更多个)数组的键名,并返回一个交集数组,该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2 或 array3 等等)中的键名。

语法

array_intersect_key(array1,array2,array3...)
参数 描述
array1 必需。与其他数组进行比较的第一个数组。
array2 必需。与第一个数组进行比较的数组。
array3,... 可选。与第一个数组进行比较的其他数组。

技术细节

返回值: 返回一个交集数组,该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2 或 array3 等等)中的键名。
PHP 版本: 5.1.0+

更多实例

实例 1

比较两个数值数组的键名,并返回交集:

<?php
$a1=array("red","green","blue","yellow");
$a2=array("red","green","blue");

$result=array_intersect_key($a1,$a2);
print_r($result);
?>

实例 2

比较三个数组的键名,并返回交集:

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("c"=>"yellow","d"=>"black","e"=>"brown");
$a3=array("f"=>"green","c"=>"purple","g"=>"red");

$result=array_intersect_key($a1,$a2,$a3);
print_r($result);
?>

实例:

<?php
 $array1  = array( &#39;one&#39;   =>  1 ,  &#39;two&#39;   =>  2 ,  &#39;three&#39;   =>  3 ,  &#39;five&#39;  =>  4 ); 
$array2  = array( &#39;six&#39;  =>  5 ,  &#39;one&#39;  =>  6 ,  &#39;five&#39;  =>  7 ,  &#39;ten&#39;    =>  8 );
 var_dump ( array_intersect_key ( $array1 ,  $array2 ));
?>

运行结果:

array(2) { ["one"]=> int(1) ["five"]=> int(4) }


以上是php比較兩個陣列的鍵名並傳回交集的函數array_intersect_key()的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn