数组函数

PHP array_diff() 函数

主题:PHP 数组参考上一页|下一页

说明

array_diff() 函数比较两个或多个数组的值并返回差值。

下表总结了该函数的技术细节。

返回值: 返回一个数组,其中包含 array1 中不存在于 any of 其他数组中的所有元素。
版本: PHP 4.0.1+

语法

array_diff() 函数的基本语法如下:

array_diff(array1, array2, ...);

下面的例子展示了 array_diff() 函数的作用。

<?php
// 样本数组
$array1 = array("apple", "ball", "cat", "dog", "elephant");
$array2 = array("alligator", "dog", "elephant", "lion", "cat");

//计算差异
$result = array_diff($array1, $array2);
print_r($result);
?>

参数

array_diff() 函数接受以下参数。

参数 说明
array1 必填。 指定要比较的数组。
array2 必填。 指定要比较的数组。
... 可选。 指定要比较的更多数组。

更多示例

这里有更多示例展示了 array_diff() 函数的实际工作原理:

以下示例显示如何使用此函数将一个数组与其他两个数组进行比较。

<?php
// 样本数组
$array1 = array("apple", "ball", "cat", "dog");
$array2 = array("cat", "lion", "tiger");
$array3 = array("apple", "banana");

//计算差异
$result = array_diff($array1, $array2, $array3);
print_r($result);
?>

如果两个元素的字符串表示相同,则认为两个元素相等,即 (string) $elem1 === (string) $elem2。 让我们看一下下面的例子:

<?php
// 样本数组
$array1 = array(1, 2, 5, 7, 11);
$array2 = array(0, "1", 2, 4, "07", 10);

//计算差异
$result = array_diff($array1, $array2);
print_r($result);
?>

您也可以使用关联数组,但在比较中不考虑键。

<?php
// 样本数组
$array1 = array("a"=>"red", "b"=>"green", "c"=>"blue", "d"=>"yellow");
$array2 = array("x"=>"black", "y"=>"blue", "z"=>"red");

//计算差异
$result = array_diff($array1, $array2);
print_r($result);
?>
Advertisements