$arr1=array(array(1,2,3,4,5),array(6,7,8,9,10),array(11,12,13,14,15),array(16,17,18,19,20));
$arr2=array(array(1,2,3,4,5),array(11,12,13,14,15));
求:
$arr3=array(array(6,7,8,9,10),array(16,17,18,19,20));
$arr1=array(array(1,2,3,4,5),array(6,7,8,9,10),array(11,12,13,14,15),array(16,17,18,19,20));
$arr2=array(array(1,2,3,4,5),array(11,12,13,14,15));
$arr3=array();
foreach ($arr1 as $key => $value) {
if(!in_array($value,$arr2)){
$arr3[]=$value;
}
}
var_dump($arr3);
$arr2=array(array(1,2,3,4,5),array(11,12,13,14,15));
$arr3=array();
foreach ($arr1 as $key => $value) {
if(!in_array($value,$arr2)){
$arr3[]=$value;
}
}
var_dump($arr3);
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-03-02
<?php
function arrayRecursiveDiff($aArray1, $aArray2) {
$aReturn = array();
foreach ($aArray1 as $mKey => $mValue) {
if (array_key_exists($mKey, $aArray2)) {
if (is_array($mValue)) {
$aRecursiveDiff = arrayRecursiveDiff($mValue, $aArray2[$mKey]);
if (count($aRecursiveDiff)) { $aReturn[$mKey] = $aRecursiveDiff; }
} else {
if ($mValue != $aArray2[$mKey]) {
$aReturn[$mKey] = $mValue;
}
}
} else {
$aReturn[$mKey] = $mValue;
}
}
return $aReturn;
}
$arr1=array(array(1,2,3,4,5),array(6,7,8,9,10),array(11,12,13,14,15),array(16,17,18,19,20));
$arr2=array(array(1,2,3,4,5),array(11,12,13,14,15));
print_r(arrayRecursiveDiff($arr1, $arr2));
?>
function arrayRecursiveDiff($aArray1, $aArray2) {
$aReturn = array();
foreach ($aArray1 as $mKey => $mValue) {
if (array_key_exists($mKey, $aArray2)) {
if (is_array($mValue)) {
$aRecursiveDiff = arrayRecursiveDiff($mValue, $aArray2[$mKey]);
if (count($aRecursiveDiff)) { $aReturn[$mKey] = $aRecursiveDiff; }
} else {
if ($mValue != $aArray2[$mKey]) {
$aReturn[$mKey] = $mValue;
}
}
} else {
$aReturn[$mKey] = $mValue;
}
}
return $aReturn;
}
$arr1=array(array(1,2,3,4,5),array(6,7,8,9,10),array(11,12,13,14,15),array(16,17,18,19,20));
$arr2=array(array(1,2,3,4,5),array(11,12,13,14,15));
print_r(arrayRecursiveDiff($arr1, $arr2));
?>
第2个回答 2015-03-02
//判断2个数组是否相等
function judgeEqual($key1,$key2){
$a = array_diff($key1,$key2);
$b = array_diff($key2,$key1);
if(empty($a) && empty($b)){
return true;
}else{
return false;
}
}
$arr1=array(array(1,2,3,4,5),array(6,7,8,9,10),array(11,12,13,14,15),array(16,17,18,19,20));
$arr2=array(array(1,2,3,4,5),array(11,12,13,14,15));
$array1=$arr2[0];
$array2=$arr2[1];
for($i=0;$i<count($arr1);$i++){
if(judgeEqual($array1,$arr1[$i]) || judgeEqual($array2,$arr1[$i])){
unset($arr1[$i]);
}
}
$arr3=$arr1;
var_dump($arr3);
function judgeEqual($key1,$key2){
$a = array_diff($key1,$key2);
$b = array_diff($key2,$key1);
if(empty($a) && empty($b)){
return true;
}else{
return false;
}
}
$arr1=array(array(1,2,3,4,5),array(6,7,8,9,10),array(11,12,13,14,15),array(16,17,18,19,20));
$arr2=array(array(1,2,3,4,5),array(11,12,13,14,15));
$array1=$arr2[0];
$array2=$arr2[1];
for($i=0;$i<count($arr1);$i++){
if(judgeEqual($array1,$arr1[$i]) || judgeEqual($array2,$arr1[$i])){
unset($arr1[$i]);
}
}
$arr3=$arr1;
var_dump($arr3);