Ejemplo n.º 1
0
 public static function recursiveArrayDiffAssoc($array1, $array2)
 {
     $difference = [];
     foreach ($array1 as $key => $value) {
         if (is_array($value)) {
             if (!isset($array2[$key]) || !is_array($array2[$key])) {
                 $difference[$key] = $value;
             } else {
                 $new_diff = \Metaclassing\Utility::recursiveArrayDiffAssoc($value, $array2[$key]);
                 if (!empty($new_diff)) {
                     $difference[$key] = $new_diff;
                 }
             }
         } elseif (!array_key_exists($key, $array2) || $array2[$key] !== $value) {
             $difference[$key] = $value;
         }
     }
     return $difference;
 }