多维数组计算差集
2017-05-26 21:43
183 查看
大家都知道一维数组计算差集的内置函数是array_diff_assoc($array1, $array2),可是多维数组怎样计算差集呢,就须要写一个对应的算法。
我写了一个算法供大家參考。
我写了一个算法供大家參考。
<? php //多维数组的差集 function array_diff_assoc_recursive($array1,$array2){ $diffarray=array(); foreach ($array1 as $key=>$value){ //推断数组每一个元素是否是数组 if(is_array($value)){ //推断第二个数组是否存在key if(!isset($array2[$key])){ $diffarray[$key]=$value; //推断第二个数组key是否是一个数组 }elseif(!is_array($array2[$key])){ $diffarray[$key]=$value; }else{ $diff=array_diff_assoc_recursive($value, $array2[$key]); if($diff!=false){ $diffarray[$key]=$diff; } } }elseif(!array_key_exists($key, $array2) || $value!==$array2[$key]){ $diffarray[$key]=$value; } } return $diffarray; } $array1=array(1,2,3,array(1,2,array(1))); $array2=array(1,2,4,array(1,2,3)); print_r(array_diff_assoc_recursive($array1,$array2));
相关文章推荐
- 多维数组计算差集
- 多维数组当一维处理,并用数组模拟向量,来计算向量点积
- php 计算任意多个结构相同的多维数组的每个元素的平均值
- php array_udiff_assoc 计算两个数组的差集实例
- php计算多维数组中所有值总和的方法
- PHP - Manual手册 - 函数参考 - Array 数组函数 - array_diff计算数组的差集
- 大数组计算差集
- php计算多维数组中所有值总和的方法
- 字符串和多维数组实验【计算单词个数+幻方+凯撒密码应用】
- php array_udiff_assoc 计算两个数组的差集实例
- perl 计算多维数组的行数,以及每行的元素数
- php-Arrays 函数-array_diff_ukey-用回调函数对键名比较计算数组的差集
- Python 数值计算 —— 向量、矩阵和多维数组
- PHP - Manual手册 - 函数参考 - Array 数组函数 - array_diff计算数组的差集
- PHP array_diff 计算数组的差集
- php-Arrays 函数-array_diff-计算数组的差集
- PHP多维数组差集、排序
- C++第2周项目3——用结构体数组作计算
- 结构体计算数组
- 《数据结构》实验四:字符串和多维数组 实验(一)