public static String buildFrom(Environment env, Memory queryData, String numericPrefix, String argSeparator, int encType) {
        if (StringUtils.isEmpty(argSeparator)) {
            argSeparator = env.getConfigValue("arg_separator.output", StringMemory.valueOf('&')).toString();
        }

        ArrayMemory array = toArray(env, queryData);
        // Fail fast
        if (array == null) {
            return "";
        }

        return new HttpQueryBuilder(numericPrefix, argSeparator, encType)
                .build(queryData.getNewIterator(env));
    }
We should keep trace when traversing arrays.
exts/jphp-zend-ext/src/main/java/org/develnext/jphp/zend/ext/standard/HttpQueryBuilder.java