首页 > 代码库 > 多维数组计算差集
多维数组计算差集
大家都知道一维数组计算差集的内置函数是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));
多维数组计算差集
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。