array_diff() function
array_diff()是PHP中的一个内建函数,用于计算两个或多个数组之间的差异。该函数根据元素的值计算一个或多个数组之间的差异,并以新数组的形式返回差异。这个函数基本上返回第一个数组中出现的所有条目,而其他数组中不存在这些条目。
语法
1 | array_diff($array1, $array2, $array3, ...,$arrayn) |
参数:函数可以取任意数量的数组作为需要比较的参数。
返回类型:该函数将参数中的第一个数组与其他数组进行比较,并返回一个数组,该数组包含来自$array1的所有条目,这些条目在任何其他数组中都不存在。
例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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 ) |
下面的程序演示了array_diff()在PHP中的工作:
1 2 3 4 5 6 7 8 9 10 11 12 | <?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)); ?> |
输出
1 2 3 4 5 6 | Array ( [2] => c [3] => d [4] => e ) |
注意
- 它比较字符串表示中的元素。也就是说,对于array_diff(), 1和’ 1 ‘都是相等的。
- 第一个数组中元素的重复次数并不重要。也就是说,如果一个元素在$array1中出现了3次,而在其他数组中只出现了1次,那么第一个数组中该元素的所有3次出现都会在输出中被省略。
- 对于多维数组,我们需要分别比较每个维度。例如:- $array1[2],$array2[2]等。
参考