php array_diff()函数
在 PHP 中,array_diff() 函数用于比较两个或多个数组,并返回那些只存在于第一个数组中的元素(键值对会被保留)。换句话说,它会从第一个数组中移除那些出现在其他数组中的值。
语法
array_diff(array $array, array ...$arrays): array
$array:要比较的主数组。
...$arrays:要与主数组比较的一个或多个数组。
返回值
返回一个数组,包含那些只在主数组中存在的值(键会保留)。
示例 1:简单数组比较
<?php
$array1 = ["a" => "red", "b" => "green", "c" => "blue"];
$array2 = ["a" => "red", "c" => "yellow"];
$result = array_diff($array1, $array2);
print_r($result);
?>
输出:
Array
(
[b] => green
[c] => blue
)
说明:array_diff() 返回了 $array1 中没有出现在 $array2 中的值。
示例 2:多个数组比较
<?php
$array1 = ["red", "green", "blue", "yellow"];
$array2 = ["red", "blue"];
$array3 = ["yellow", "black"];
$result = array_diff($array1, $array2, $array3);
print_r($result);
?>
输出:
Array
(
[1] => green
)
说明:array_diff() 返回了 $array1 中没有出现在 $array2 和 $array3 中的值。
注意事项
比较时区分数据类型
array_diff() 是使用松散比较进行比较的,这意味着它会自动转换数据类型。
如果需要区分类型,可以使用 array_diff_assoc() 或严格比较的 array_udiff()。
键值保留
array_diff() 返回的结果会保留原数组中的键。
示例 3:类型敏感性
<?php
$array1 = [0, "0", 1, "2"];
$array2 = ["0", 2];
$result = array_diff($array1, $array2);
print_r($result);
?>
输出:
Array
(
[0] => 0
[2] => 1
[3] => 2
)
说明:因为松散比较,"0" 和 0 被认为是相等的,而 1 和 2 是不同的。
实用场景
查找差异数据:比较用户输入的数据与现有数据。
移除重复值:用于从一个数组中剔除特定值集合。
如果需要更复杂的比较(例如自定义比较函数),可以使用 array_udiff() 或其他类似函数。
编辑:
阅读量:8
url链接:https://www.qozr.com/cms_php-arraydiff-han-shu.html
Tag标签: array_diff , php
上一篇: window10关闭自动更新的方法
更多新闻
Copyright © 千欧中软 版权所有 https://www.qozr.com seo | 网站建设 [渝ICP备15005074号]
渝公网安备50011802011077