为什么我的基于递归的括号平衡检查器不起作用?

时间:2012-07-16 15:59:35

标签: php syntax recursion parentheses

我正在尝试在php中实现https://stackoverflow.com/a/2718114/1507339

中描述的C括号平衡器

如下所示


function match ($string, $index)
{
    if (isset($string[$index]) == false){ return ""; }
    if ($string[$index] == "}") { return "}"; }
    if ($string[$index] == "{")
    {
        $closer = match($string, ++$index);
        if ($closer == "}"){
            return match($closer, ++$index);
    }
    return $index - 1;
    }
    return match($string, ++$index);
}

并且它以

运行
$string = "{hey}}";
echo match($string, 0);

其中没有关闭的第一个开口支架的位置被打印到屏幕上。这不会发生,我不确定为什么,任何帮助?

0 个答案:

没有答案