【函数功能】
该函数通过自定义函数比较两个(或更多个)数组的键名 ,并返回交集。
【函数语法】
array_intersect_ukey (array $array1, array $array2, array $_ = null, $key_compare_func)
【参数说明】
$array1:必需,与其他数组进行比较的第一个数组。
$array2:必需,与第一个数组进行比较的数组。
$_,...:可选,与第一个数组进行比较的其他数组。
$key_compare_func:自定义函数,如果第一个参数小于、等于或大于第二个参数,则该比较函数必须返回小于、等于或大于 0 的整数。
【演示程序】
<?php
/**
* array_intersect_ukey (array $array1, array $array2, array $_ = null, $key_compare_func)
* **/
function key_compare_func($a,$b){
if ($a===$b)
{
return 0;
}
return ($a>$b)?-1:1;
}
$array = array('site_name'=>'PHP1234','site_url'=>'php1234.cn','site_auth'=>'明礼馨德');
$array1 = array('ext'=>'明礼馨德','site_url'=>'php1234.cn','site_name'=>'PHP1234');
$array2 = array('PHP1234','site_url'=>'php1234.cn','明礼馨德');
$result=array_intersect_ukey($array,$array1,$array2,"key_compare_func");
print_r($result);
?>
【输出结果】
Array ( [site_url] => php1234.cn )
【特别注意】
1.可用一个或任意多个数组与第一个数组进行比较。
2.该函数仅将键用于比较,只有所有数组中都出现的键才会被保留。
3.PHP 版本:5.1.0+。
【原版定义】
/**
* Computes the intersection of arrays using a callback function on the keys for comparison
* @link http://www.php.net/manual/en/function.array-intersect-ukey.php
* @param array1 array <p>
* Initial array for comparison of the arrays.
* </p>
* @param array2 array <p>
* First array to compare keys against.
* </p>
* @param _ array[optional]
* @param key_compare_func callable <p>
* The comparison function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.
* </p>
* &callback.cmp;
* @return array the values of array1 whose keys exist
* in all the arguments.
*/
转载请注明出处:php1234.cn ,原文地址:http://www.php1234.cn/a/functions/2017/0327/205.html