public static function extend(): array
    {
        $merged = [];

        foreach (func_get_args() as $array) {
            foreach ($array as $key => $value) {
                if (is_array($value) && static::has($merged, $key) && is_array($merged[$key])) {
                    $merged[$key] = static::extend($merged[$key], $value);
                } else {
                    $merged[$key] = $value;
                }
            }
        }

        return $merged;
    }
public static function extend(): array
    {
        $merged = [];

        foreach (func_get_args() as $array) {
            foreach ($array as $key => $value) {
                if (is_array($value) && static::has($merged, $key) && is_array($merged[$key])) {
                    $merged[$key] = static::extend($merged[$key], $value);
                } else {
                    $merged[$key] = $value;
                }
            }
        }

        return $merged;
    }
public static function extend ( ) : array { $ merged = [ ] ; foreach ( func_get_args ( ) as $ array ) { foreach ( $ array as $ key => $ value ) { if ( is_array ( $ value ) && static :: has ( $ merged , $ key ) && is_array ( $ merged [ $ key ] ) ) { $ merged [ $ key ] = static :: extend ( $ merged [ $ key ] , $ value ) ; } else { $ merged [ $ key ] = $ value ; } } } return $ merged ; }
Extend one array with another.

@return array
Extend one array with another .