php中很少使用的函数,了解一下还是好的。

主要功能都是比较数组,返回数组交集。


array_uintersect(array1, array2, string);

作用:

自定义函数比较俩个或者多个数组,只比较value

参数:

array1: 被比较的数组1

array2: 比较的数组2

string:自定义函数名

返回值:

返回数组的交集

例子:比较3个数组

$a1=array('a'=>'red','b'=>'blue','c'=>'yellow');$a2=array('c'=>'blue','a'=>'red');$a3=array('b'=>'blue');functionmyFunction($a,$b){if($a===$b){return0;}return$a>$b?1:-1;}$res=array_uintersect($a1,$a2,$a3,'myFunction');print_r($res);输出结果:Array([b]=>blue)


array_uintersect_assoc(array1, array2, string);

作用:

使用自定义函数比较俩个或者多个数组, 比较key和value

参数:

array1: 被比较的数组

array2: 比较的数组

string:函数名

返回值:

返回数组中的交集(key与value都要相同)

例子:比较3个数组

$a1=array('a'=>'red','b'=>'blue','c'=>'yellow');$a2=array('c'=>'blue','a'=>'red');$a3=array('a'=>'red');functionmyFunction($a,$b){if($a===$b){return0;}return$a>$b?1:-1;}//$res=array_uintersect($a1,$a2,$a3,'myFunction');$res=array_uintersect_assoc($a1,$a2,$a3,'myFunction');print_r($res);输出结果:Array([a]=>red)


array_uintersect_uassoc(array1, array2, string1, string2);

作用:

自定义key和value的比较函数比较key和value

参数:

array1: 被比较的数组1

array2: 比较的数组

string1: 自定义比较key的函数名

string2: 自定义比较value的函数名

返回值:

比较后数组的交集

例子:比较3个数组

$a1=array('a'=>'red','b'=>'blue','c'=>'yellow');$a2=array('c'=>'blue','a'=>'red');$a3=array('a'=>'red');functionmyKey($a,$b){if($a===$b){return0;}return$a>$b?1:-1;}functionmyValue($a,$b){if($a===$b){return0;}return$a>$b?1:-1;}$res=array_uintersect_uassoc($a1,$a2,$a3,'myKey','myValue');print_r($res);输出结果:Array([a]=>red)