tigh 发表于 2018-12-14 11:01:04

php 学习笔记--数组篇(9)

  

  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');
function myFunction($a, $b)
{
   if($a === $b)
   {   
         return 0;
   }   
   return $a > $b? 1 : -1;
}
$res = array_uintersect($a1, $a2, $a3, 'myFunction');
print_r($res);
输出结果:
Array
(
    => 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');
function myFunction($a, $b)
{
   if($a === $b)
   {   
         return 0;
   }   
   return $a > $b? 1 : -1;
}
//$res = array_uintersect($a1, $a2, $a3, 'myFunction');
$res = array_uintersect_assoc($a1, $a2, $a3,'myFunction');
print_r($res);
输出结果:
Array
(
    => 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');
function myKey($a, $b)
{
   if($a === $b)
   {   
         return 0;
   }   
   return $a > $b? 1 : -1;
}
function myValue($a, $b)
{
   if($a === $b)
   {   
         return 0;
   }   
   return $a > $b? 1 : -1;
}
$res = array_uintersect_uassoc($a1, $a2, $a3, 'myKey', 'myValue');
print_r($res);
输出结果:
Array
(
    => red
)  




页: [1]
查看完整版本: php 学习笔记--数组篇(9)