array_intersect(array1, array2);

作用:

    比较俩个或者多个数组的value值,返回交集

参数:

    array1:需要比较的数组

    array2:与第一个数组做比较

返回:

    返回交集的数组

例子:比较2个和3个数组

     $arrOne = array('a' => 'blue', 'b' => 'yellow', 'c' => 'red', 'd' => 'purple');
     $arrTwo = array('a' => 'yellow', 'c' => 'red');
     $arrThree = array('a' => 'yellow');
     $res1 = array_intersect($arrOne, $arrTwo);
     $res2 = array_intersect($arrOne, $arrTwo, $arrThree);
     print_r($res1);
     print_r($res2);
     输出结果:
     Array
     (
        [b] => yellow
        [c] => red
     )
     Array
     (
        [b] => yellow
     )


array_intersect_assoc(array1, array2);

作用:

    比较俩个(或者多个数组)的key 和 value值,返回数组的交集

    与array_intersect() 比较的是value

参数:

    array1: 需要比较的数组

    array2: 与第一个数组做比较

返回值:

    俩个或者多个数组交集的数组

例子:比较俩个数组

     $arrOne = array('a' => 'blue', 'b' => 'yellow', 'c' => 'red', 'd' => 'purple');
     $arrTwo = array('a' => 'purple', 'c' => 'red');
     $res = array_intersect_assoc($arrOne, $arrTwo);
     print_r($res);
     输出参数:
     Array
     (
        [c] => red

     )


arrray_intersect_key(array1, array2);

作用:

    比较俩个数组(或者多个数组)的交集,只是比较key

参数:

    array1:需要比较的数组

    array2:与第一个数组比较

返回值:

    比较后的交集数组

例子:比较俩个数组的key

     $arrOne = array('a' => 'blue', 'b' => 'yellow', 'c' => 'red', 'd' => 'purple');
     $arrTwo = array('a' => 'purple', 'b' => 'red', 'c' => 'yellow');
     $res = array_intersect_key($arrOne, $arrTwo);
     print_r($res);
     输出结果:
     Array
     (
        [a] => blue
        [b] => yellow
        [c] => red
     )


array_intersect_uassoc(array1, array2, string);

作用:

    比较俩个或者多个数组的key和value,自定义的函数比较的是key值

参数:

    array1: 需要比较的数组

    array2:与第一个数组比较

    string: 自定义的函数名

返回值:

    返回数组的交集数组

例子:   strcasecmp  php二进制安全比较字符串(不区分大小写)

     $array1 = array("a" => "green", "b1" => "brown");
     $array2 = array("a" => "green", "B" => "brown");
     $res = array_intersect_uassoc($array1, $array2, "strcasecmp");
     print_r($res);
     输出结果:
     Array
     (
        [a] => green
     )


array_intersect_ukey(array1, array2, string);

作用:

    比较俩个数组或者多个数组的key,返回交集

参数:

    array1:需要比较的数组

    array2: 与第一个数组进行比较

    string: 自定义函数名

返回值:

    返回俩个数组的交集

例子: 比较俩个数组的交集

  $array1 = array("a" => "green", "b" => "brown");
  $array2 = array("a" => "Green", "b1" => "brown");
  $res1 = array_intersect_ukey($array1, $array2, 'strcasecmp');
  print_r($res1);
  输出结果:
  Array
  (
     [a] => green
  )