幫別人 Debug 的時後, 遇到一個很有趣的問題, 明明程式看起來沒錯, 但是就是有 Error. (不過, 如果用 vim + syntax on, 答案就很明顯).
程式簡單範例如下:
<?php
// $a = 1; ?>
$b = 2;
?>
主要的原因是出在 "//" 並不會把 "?>" 列入註解, 而是程式會在 "?>" 這邊就結束了, $b = 2 這段就會當一般文字印出來. 這種 Bug 在其它編輯器要找出來還真是有點難, 不過在此當然要多推廣 vim, 一打開就發現問題在哪邊了.... XD
剛剛上面那行註解的方式應該要如下:
<?php
/* $a = 1; ?> */
$b = 2;
?>
用 /**/ 就不會有程式被提前結束的問題. 另外, 就是改用 vim 吧... 😛