array_diff()是PHP中的内置函数, 用于计算两个或多个数组之间的差。此函数根据一个或多个数组之间的元素值计算差值, 并以新数组的形式返回差值。此函数基本上返回第一个数组中存在的所有其他数组中不存在的所有条目。
语法如下:
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)
下面的程序说明了PHP中array_diff()的工作方式:
<
?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)
注意事项:
- 它比较元素的字符串表示形式。也就是说, array_diff()的1和" 1"相等。
- 第一个数组中元素的重复次数无关紧要。也就是说, 如果一个元素在$ array1中出现3次, 而在其他数组中仅出现1次, 则在输出中将忽略该元素在第一个数组中的所有3次出现。
- 对于多维数组, 我们需要分别比较每个维度。例如:-$ array1 [2], $ array2 [2]等。
推荐阅读
- Java中的length vs length()的差别和对比
- C#字符串类String用法详细介绍
- SASS运算符详细介绍和用法实例
- C++中的string find函数用法示例
- 算法设计(使用XOR和表查找计算数字的奇偶校验)
- Scala StringContext介绍和详细用法
- CSS组合器/组合符详细介绍和用法
- Python在list中的替代元素求和
- 算法设计(查找给定总和的子数组|S1(非负实数))