PHP | array_diff()函数

array_diff()是PHP中的一个内置函数,用于计算两个或多个数组之间的差异。此函数根据元素的值计算一个或多个数组之间的差异,并以新数组的形式返回差异。该函数基本上返回第一个数组中存在的所有条目,而这些条目在任何其他数组中都不存在。

null

语法:

array_diff($array1, $array2, $array3, ...,$arrayn)

参数 :该函数可以将任意数量的数组作为需要比较的参数。

返回类型 :此函数将参数中的第一个数组与其余数组进行比较,并返回一个数组,其中包含$array1中任何其他数组中都不存在的所有条目。

例如:

Input :  $array1 = ('a', 'b', 'c');
         $array2 = ('a', 'd', 'e');
         $array3 = ('a', 'b', 'f');
         array_diff($array1, $array2, $array3); 
Output :
         Array
         (
           [2] => c
         )

Input : $array1 = ('a', 'b', 'a');
        $array2 = ('a', 'd', 'e');
Output :
         Array
         (
           [1] => b
         )

下面的程序演示了数组_diff()在PHP中的工作:

<?php
// PHP code to illustrate the working of array_diff()
function Difference( $array1 , $array2 , $array3 ){
return ( array_diff ( $array1 , $array2 , $array3 ));
}
// Driver Code
$array1 = array ( 'a' , 'b' , 'c' , 'd' , 'e' , 'f' );
$array2 = array ( 'a' , 'b' , 'g' , 'h' );
$array3 = array ( 'a' , 'f' , 'i' );
print_r(Difference( $array1 , $array2 , $array3 ));
?>


输出:

Array
(
    [2] => c
    [3] => d
    [4] => e
)

需要注意的要点 :

  • 它比较字符串表示形式中的元素。也就是说,对于数组_diff(),1和“1”都是相等的。
  • 第一个数组中元素的重复次数无关紧要。也就是说,如果一个元素在$array1中出现了3次,而在其他数组中只出现了1次,那么该元素在第一个数组中的所有3次出现都将在输出中被忽略。
  • 对于多维数组,我们需要分别比较每个维度。例如:-$array1[2],$array2[2]等。

参考 : http://php.net/manual/en/function.array-diff.php

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享