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
        )

)