1: <?php namespace mechanicious\Support;
2:
3: trait ArrayableTrait
4: {
5: 6: 7: 8: 9: 10: 11:
12: public function array_diff_recursive($has, $leaks) {
13: $aReturn = array();
14:
15: foreach ($has as $mKey => $mValue) {
16: if (array_key_exists($mKey, $leaks)) {
17: if (is_array($mValue)) {
18: $aRecursiveDiff = $this->array_diff_recursive($mValue, $leaks[$mKey]);
19: if (count($aRecursiveDiff)) { $aReturn[$mKey] = $aRecursiveDiff; }
20: } else {
21: if ($mValue != $leaks[$mKey]) {
22: $aReturn[$mKey] = $mValue;
23: }
24: }
25: } else {
26: $aReturn[$mKey] = $mValue;
27: }
28: }
29: return $aReturn;
30: }
31: }