报出更多的错误,这是您无法忍受。
关于这个问题,下面的示例可能会对您有所帮助。请咨询阅读一下下面所示的 PHP 代
码:
<?php $b = "somevalue" if($b == "somevalue"){ print "Hello world!"; } ?>
错误位于"$b ="一行(在语句的末端缺少分号),所以错误应该是"解析错误:第 3 行
缺少分号"对吧?而不应该依据解析器判定的:
Parse error: parse error, unexpected T_IF in c:\program
files\apachegroup\apache\htdocs\ereg2.php on line 4
在第 4 行,if() 语句的语法是正确的。那么,编译器是被什么给搞糊涂了呢?线索就
是"unexpected T_IF"
部分。出现 "unexpected T_???"错误时,它所表示的含义为:编
译器发现在预定义字不应该出现的位置出现。T_IF
代表 if(), T_WHILE
代表 while(),
T_FOR
代表 for()等。
值得庆幸的是,一些错误的原因也很简单:
语句没有使用分号(;)结束,比如上面的示例。字符串中缺少引号。
其他一些常见的错误
我见过的最常见的错误就是,当没有使用大括号( } )结束一个函数或者一个循环时出
现的错误,这很可能是最常见,最让人烦的错误。具体代码如下:
function UselessFunction() { for($i < 0; $i < 10; $i++){ }
将产生下列错误:
Parse error: parse error, unexpected $ in c:\program files\apache
group\apache\htdocs\ereg2.php on line 9
由于函数 UselessFunction 没有使用大括号( } )来结束,PHP 编译器不断查找表示
结束的大括号直至到达文件末尾为止。因为编译器未找到一个匹配的大括号,就会报告文
件末尾处有错误。
如果正确地反映了代码的层次结构,错误信息就会变得非常明显。如果没有标明代码
的层次结构,那么最后要想查清楚到底忘记了什么也会变得几乎是不可能的。所以,请记
住,一定要标明代码的层次结构。Tab 键可以很容易地实现这一点。对后续的开发人员来说,
把握代码框架并对其进行修改也会更容易一些。