public static function m($cx, $a, $b) {
        if (is_array($b)) {
            if ($a === null) {
                return $b;
            } else if (is_array($a)) {
                return array_merge($a, $b);
            } else if ($cx['flags']['method'] || $cx['flags']['prop']) {
                if (!is_object($a)) {
                    $a = new StringObject($a);
                }
                foreach ($b as $i => $v) {
                    $a->$i = $v;
                }
            }
        }
        return $a;
    }
public static function m($cx, $a, $b) {
        if (is_array($b)) {
            if ($a === null) {
                return $b;
            } else if (is_array($a)) {
                return array_merge($a, $b);
            } else if ($cx['flags']['method'] || $cx['flags']['prop']) {
                if (!is_object($a)) {
                    $a = new StringObject($a);
                }
                foreach ($b as $i => $v) {
                    $a->$i = $v;
                }
            }
        }
        return $a;
    }
public static function m ( $ cx , $ a , $ b ) { if ( is_array ( $ b ) ) { if ( $ a === null ) { return $ b ; } else if ( is_array ( $ a ) ) { return array_merge ( $ a , $ b ) ; } else if ( $ cx [ 'flags' ] [ 'method' ] || $ cx [ 'flags' ] [ 'prop' ] ) { if ( ! is_object ( $ a ) ) { $ a = new StringObject ( $ a ) ; } foreach ( $ b as $ i => $ v ) { $ a -> $ i = $ v ; } } } return $ a ; }
Get merged context.

@param array<string,array|string|integer> $cx render time context for lightncandy
@param array<array|string|integer>|string|integer|null $a the context to be merged
@param array<array|string|integer>|string|integer|null $b the new context to overwrite

@return array<array|string|integer>|string|integer the merged context object
Get merged context .