【函数功能】
该函数通过自定义函数比较两个(或更多个)数组的键名和键值,并返回交集。
【函数语法】
array_uintersect_assoc (array $array1, array $array2, array $_ = null, $value_compare_func)
【参数说明】
$array1:必需,与其他数组进行比较的第一个数组。
$array2:必需,与第一个数组进行比较的数组。
$_,...:可选,与第一个数组进行比较的其他数组。
$value_compare_func:自定义函数,如果第一个参数小于、等于或大于第二个参数,则该比较函数必须返回小于、等于或大于 0 的整数。
【演示程序】
<?php
/**
* array_uintersect_assoc (array $array1, array $array2, array $_ = null, $value_compare_func)
* **/
function value_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_uintersect_assoc($array,$array1,$array2,"value_compare_func");
print_r($result);
?>
【输出结果】
Array ( [site_url] => php1234.cn )
【特别注意】
1.可用一个或任意多个数组与第一个数组进行比较。
2.该函数将键和值都用于比较,只有所有数组中都出现的键值对才会被保留。
3.PHP 版本:5.0+。
【原版定义】
/**
* Computes the intersection of arrays with additional index check, compares data by a callback function
* @link http://www.php.net/manual/en/function.array-uintersect-assoc.php
* @param array1 array <p>
* The first array.
* </p>
* @param array2 array <p>
* The second array.
* </p>
* @param _ array[optional]
* @param value_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 an array containing all the values of
* array1 that are present in all the arguments.
*/
转载请注明出处:php1234.cn ,原文地址:http://www.php1234.cn/a/functions/2017/0330/208.html