cagartner
8/22/2017 - 6:00 PM

Merge two array in one, used like a php solution for jquery $.extend

Merge two array in one, used like a php solution for jquery $.extend

<?php
/**
 * Merge two arrays
 * @param array $arr1
 * @param array $arr2
 *
 * @return array
 */
function array_extend(array $arr1, array $arr2)
    {
        if (empty($arr1)) {
            return $arr2;
        } else if (empty($arr2)) {
            return $arr1;
        }
        foreach ($arr2 as $key => $value) {
            if (is_int($key)) {
                $arr1[] = $value;
            } elseif (is_array($arr2[$key])) {
                if (!isset($arr1[$key])) {
                    $arr1[$key] = array();
                }
                if (is_int($key)) {
                    $arr1[] = array_extend($arr1[$key], $value);
                } else {
                    $arr1[$key] = array_extend($arr1[$key], $value);
                }
            } else {
                $arr1[$key] = $value;
            }
        }
        return $arr1;
    }