PHP array_diff()

定义和用法

array_diff() 函数返回两个数组的差集数组。返回的数组的元素都取自被比较的数组(既第一个数组)

在返回的数组中,键名保持不变。

语法

array_diff(array1,array2,array3...)
参数 描述
array1 必需。与其他数组进行比较的第一个数组。
array2 必需。与第一个数组进行比较的数组。
array3 可选。与第一个数组进行比较的数组。

提示和注释

提示:可用一个或任意多个数组与第一个数组进行比较。

注释:只用值来比较。

例子1

<?php
$a1 = array(0=>"A",1=>"B",2=>"C");
$a2 = array(3=>"C",4=>"D",5=>"B");
print_r(array_diff($a1,$a2));
?>

输出:

Array ( [0] => A)

例子

<?php
// 多数组比较
$a = array(1,2,3,7);
$b = array(4,3,5);
$c = array(2,6,8);
print_r(array_diff($a,$b,$c));
?>

输出:

// 数组$a中的1,7在后两个数组($b,$c)中均不存在
Array ( [0] => 1 [3] => 7 )

  

时间: 2024-10-12 20:47:30

PHP array_diff()的相关文章

php array_intersect() 和 array_diff() 函数

在PHP中,使用 array_intersect 求两个数组的交集比使用 array_diff 求同样两个数组的并集要快. 如果要求数组 $a 与数组 $b 的差集的个数,应该使用 count($a) - count(array_intersect($a, $b)),而不要用 count(array_diff($a, $b)); 前面要比后者快,在大数组中更为明显. $array1=array("a"=>"red","b"=>&quo

深思 PHP 数组遍历的差异(array_diff 的实现)

function array_diff($array_1, $array_2) {     $diff = array(); foreach ($array_1 as $k => $v1) {         $flag = false;         foreach ($array_2 as $v2) {             if ($flag = ($v1 == $v2)) {                 break;             }         } if (!$f

php数组函数-array_diff()

array_diff()函数返回两个数组的差集数组.该数组包括了所有在被比较 数组中,但是不在任何其他参数数组中的键值 在返回数组中,键名保持不变. array_diff(array1,array2,array3...); array1:必需.与其他数组进行比较的第一个数组. array2:必需.与第一个数组进行比较的数组. array3:可选.与第一个数组进行比较的数组. 注:可用一个或任意多个数组与第一个数组进行比较. <?php $a1 = array(0=>'Cat',1=>'D

关于php的array_diff和array_diff_assoc的使用总结

关于php的array_diff和array_diff_assoc的使用总结 2015-11-07 17:01 184人阅读 评论(0) 收藏 举报  分类: php学习感想(1)  版权声明:本文为博主原创文章,未经博主允许不得转载. 好了,这是我第一次写csdn博文,允许兴奋一下 以下是我在开发一个商城系统时遇到使用array_diff的一些总结,写出来分享,也作为自己的一次回顾吧,过程很罗嗦,请各位看官耐心点. 一:使用array_diff和array_diff_assoc前奏 在商城开发

每天一个学习一个新的php函数(2) array_diff()/array_diff_key()/array_diff_assoc()

array_diff( array array1, array array2 [, array -] ) 说明 array_diff() 返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值.注意键名保留不变. 列子 <?php $array1 = array("a" => "green", "red", "blue", "red"); $array2 = array

PHP 使用get_class_methods()和array_diff() 兩個相同的類中方法差集

进行二次开发时,习惯一份是原封不动的,一份正在修改.在修改时,发现修改的缺少原项目中的一些方法.本打算一个方法一个方法的对比,可是这样会比较花时间,划不来,PHP可以使用get_class_methods() 获取一个类中的所有方法,返回的是数组,刚好可以使用 array_diff()两个相同类中相差的方法,这两个方法真是帮了大忙. <?php /** * Created by PhpStorm. * User: wakasann * Date: 2016/1/28 * Time: 11:46

array_diff函数的注意事项

array_diff — 计算数组的差集 说明: array array_diff ( array $array1 , array $array2 [, array $... ] ) 对比返回在 array1 中但是不在 array2 及任何其它参数数组中的值.注意键名保留不变. 注意:本函数只检查了多维数组中的一维.如果想比较更深的维度需要另写一个函数,今天的工作就遇到了这样的需求,所以写了一个函数来比较更深的维度. <?php header("Content-type:text/htm

array_diff || array_diff_key || array_diff_assoc

////// 以第一个数组为准,比较两个数组的不同之处. array_diff (arr1, arr2) === 返回一个只出现在arr1但没有出现在arr2中的数据 标准是值不是键 array_diff_key(arr1, arr2) === 返回一个只出现在arr1但没有出现在arr2中的数据 标准是键不是值 array_diff_assoc(arr1, arr2) === 返回一个只出现在arr1但没有出现在arr2中的数据 标准是键且值

array_diff应用

<?php header("Content-type:text/html;charset=utf-8"); $old = array(1,2,3,4,5); $new = array(3,4,5,8); echo "原始数组内容array(1,2,3,4,5)<hr/>"; echo "新数组内容是array(3,4,5,8)<hr/>"; echo "旧的比新的:".print_r(array_