您好,欢迎访问一九零五行业门户网

php中的常用数组函数(三)(获取数组交集的函数们 array_intersect()、array_intersect_key()、array_intersect_assoc()、array_intersect_uassoc()、array_intersect_ukey())

这5个获取交集的函数 有 5个对应的获取差集的函数。我是链接。
array_intersect($arr1, $arr2);//获得数组同键值的交集
array_intersect_key($arr1, $arr2);//获得数组同键名的交集
array_intersect_assoc(同上);//获得数组同键名键值的交集
array_intersect_uassoc(同上,'自定义回调函数');//用自定义的回调函数来获得数组同键名键值的交集
array_intersect_ukey(同上, 自定义回调函数);//用自定义的回调函数来获得数据同键名的交集
1 $arr1 = array('r' => 'red','u' => 'blue', 'g' => 'green', 'b' => 'black'); 2 $arr2 = array('r' => 'red', 'b' => 'blue'); 3 /***********array_intersect(计算数组同键值的交集)*****************/ 4 $arrintersect = array_intersect($arr1, $arr2); 5 var_dump($arrintersect);//=>array(2) { [r]=> string(3) red [u]=> string(4) blue } 6 7 /***********array_intersect_key(计算数组同键名的交集)*****************/ 8 $arrintersectkey = array_intersect_key($arr1, $arr2); 9 var_dump($arrintersectkey);//=>array(2) { [r]=> string(3) red [b]=> string(5) black }10 11 /***********array_intersect_assoc(计算数组同键名同键值的交集)*****************/12 $arrintersectassoc = array_intersect_assoc($arr1, $arr2);13 var_dump($arrintersectassoc);//=>array(1) { [r]=> string(3) red }14 15 /***********array_intersect_uassoc(用自定义的回调函数来计算数组同键名同键值的交集)*****************/16 $arrintersectuassoc = array_intersect_uassoc($arr1, $arr2, 'arr_intersect_uassoc_func');17 var_dump($arrintersectuassoc);//=>array(1) { [r]=> string(3) red }18 19 function arr_intersect_uassoc_func($a, $b) {20 if ($a === $b)21 return 0;22 elseif ($a > $b)23 return 1;24 else25 return -1;26 }27 28 /***********array_intersect_ukey(用自定义的回调函数来计算数组同键名的交集)*****************/29 $arrintersectukey = array_intersect_ukey($arr1, $arr2, 'arr_intersect_ukey_func');30 var_dump($arrintersectukey);//=>array(2) { [r]=> string(3) red [b]=> string(5) black }31 32 function arr_intersect_ukey_func($k1, $k2) {33 if ($k1 == $k2)34 return 0;35 elseif ($k1 > $k2)36 return 1;37 else38 return -1;39 }
其它类似信息

推荐信息