DmitryDulepov\Realurl\Decoder\UrlDecoder::fixBracketsAfterParseStr PHP Method

fixBracketsAfterParseStr() protected method

Fixes a problem with parse_str that returns a[b[c] instead of a[b[c]] when parsing a%5Bb%5Bc%5D%5D
protected fixBracketsAfterParseStr ( array &$array ) : void
$array array
return void
    protected function fixBracketsAfterParseStr(array &$array)
    {
        $badKeys = array();
        foreach ($array as $key => $value) {
            if (is_array($value)) {
                $this->fixBracketsAfterParseStr($array[$key]);
            } else {
                if (strchr($key, '[') && !strchr($key, ']')) {
                    $badKeys[] = $key;
                }
            }
        }
        if (count($badKeys) > 0) {
            foreach ($badKeys as $key) {
                $arr[$key . ']'] = $array[$key];
                unset($array[$key]);
            }
        }
    }