php 数组差值,php 两数组交加 差集

本文详细介绍了PHP中用于计算数组交集和差集的函数array_intersect和array_diff。array_intersect返回所有在第一个数组中且同时存在于其他数组中的值,而array_diff则返回只在第一个数组中存在的值。这两个函数都保留了键名,可以用于处理多维数组。示例代码展示了如何使用这些函数并解释了其工作原理。
摘要由CSDN通过智能技术生成

当前位置:我的异常网» PHP » php 两数组交加 差集

php 两数组交加 差集

www.myexceptions.net  网友分享于:2013-12-22  浏览:117次

php 两数组交集 差集

array_intersect -- 计算数组的交集说明

array array_intersect ( array array1, array array2 [, array ...])

array_intersect() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。注意键名保留不变。

例子 1. array_intersect() 例子

$array1 = array ("a" => "green", "red", "blue");

$array2 = array ("b" => "green", "yellow", "red");

$result = array_intersect ($array1, $array2);

?>

这使得 $result 成为:

Array

(

[a] => green

[0] => red

)

array_diff -- 计算数组的差集说明

array array_diff ( array array1, array array2 [, array ...])

array_diff() 返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意键名保留不变。

例子 1. array_diff() 例子

$array1 = array ("a" => "green", "red", "blue", "red");

$array2 = array ("b" => "green", "yellow", "red");

$result = array_diff ($array1, $array2);

?>

这使得 $result 成为 array (1 => "blue");。在 $array1 中多次出现的值同样对待。

注: 两个单元仅在 (string) $elem1 === (string) $elem2 时被认为是相同的。也就是说,当字符串的表达是一样的时候。

注: 注意此函数仅检查多维数组中的一维。当然你可以用 array_diff($array1[0], $array2[0]); 检查更深的维度。

array_diff_assoc -- 带索引检查计算数组的差集

说明

array array_diff_assoc ( array array1, array array2 [, array ...])

array_diff_assoc() 返回一个 array,返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意和 array_diff() 不同的是键名也用于比较。

例子 1. array_diff_assoc() 例子

$array1 = array ("a" => "green", "b" => "brown", "c" => "blue", "red");

$array2 = array ("a" => "green", "yellow", "red");

$result = array_diff_assoc($array1, $array2);

/* The result is:

Array

(

[b] => brown

[c] => blue

[0] => red

)

*/

?>

上面的例子中可以看到键值对 "a" => "green" 在两个数组中都有,因此不在本函数的输出中。与此不同,键值对 0 => "red" 出现在输出中是因为第二个参数中的 "red" 的键名是 1。

键值对 key => value 中的两个值仅在 (string) $elem1 === (string) $elem2 时被认为相等。也就是说使用了严格检查,字符串的表达必须相同。

文章评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值