日期:2014-05-17  浏览次数:20683 次

php报错syntax error, unexpected T_GOTO, expecting T_STRING,报错文件与行数指向以下代码,是什么原因?
本机php版本是5.3.8,Apache/2.2.21,我大概猜测是环境问题,因为原本是正常运行的,就是放在另一台电脑时出现这个问题的
要怎么解决?愁啊!

public function goto($url, $msg=NULL) {
if ($msg) {
$this->jsAlert($msg);
}
$this->js('document.location="' . $url . '";');
$this->output(true);
exit;
}

------解决方案--------------------
从 php5.3 开始 php 恢复了多年来被结构化编程所抛弃的 goto 指令
既然 goto 升格为保留字了,那你就不能把它作为函数(方法)名

goto操作符可以用来跳转到程序中的某一指定位置。该目标位置可以用目标名称加上冒号来标记。PHP中的goto有一定限制,只能在同一个文件和作用域中跳转,也就是说你无法跳出一个函数或类方法,也无法跳入到另一个函数。你也无法跳入到任何循环或者switch 结构中。常见的用法是用来跳出循环或者switch,可以代替多层的break。