questo è quello che ho scritto:
codice:
$aDiff[] = array('0' => 'classe10', '1' => 1);
$aDiff[] = array('0' => 'classe10', '1' => 2);
$aDiff[] = array('0' => 'classe20', '1' => 3);
$bDiff[] = array('0' => 'classe10', '1' => 2);
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;
}
print_r(arrayRecursiveDiff($bDiff, $aDiff));
però il risultato non è quello che mi aspetto:
codice:
Array
(
[0] => Array
(
[1] => 2
)
)
//invece dovrebbe restituirmi:
Array
(
[0] => Array
(
[0] => classe10
[1] => 1
)
[1] => Array
(
[0] => classe20
[1] => 3
)
)