protected function balanceCharacter($tokens, $idx, $char) {

        $token_count = count($tokens);
        $i = $idx + 1;
        while ($i < $token_count) {

            if (!isset($tokens[$i])) {
                $i++;
                continue;
            }

            $token = $tokens[$i];
            $tokens[$idx] .= $token;
            unset($tokens[$i]);

            if ($token === $char) {
                break;
            }

            $i++;
        }
        return array_values($tokens);
    }
protected function balanceCharacter($tokens, $idx, $char) {

        $token_count = count($tokens);
        $i = $idx + 1;
        while ($i < $token_count) {

            if (!isset($tokens[$i])) {
                $i++;
                continue;
            }

            $token = $tokens[$i];
            $tokens[$idx] .= $token;
            unset($tokens[$i]);

            if ($token === $char) {
                break;
            }

            $i++;
        }
        return array_values($tokens);
    }
protected function balanceCharacter ( $ tokens , $ idx , $ char ) { $ token_count = count ( $ tokens ) ; $ i = $ idx + 1 ; while ( $ i < $ token_count ) { if ( ! isset ( $ tokens [ $ i ] ) ) { $ i ++ ; continue ; } $ token = $ tokens [ $ i ] ; $ tokens [ $ idx ] .= $ token ; unset ( $ tokens [ $ i ] ) ; if ( $ token === $ char ) { break ; } $ i ++ ; } return array_values ( $ tokens ) ; }
to re-combine some tokens
to re - combine some tokens