php注释

今天遇到个问题调了两半天才发现问题所以;

看下面的代码。

$arr=array(“a”,”b”,”c”);
foreach($arr as &$a);
print_r($arr);
//$a=”d”;
foreach($arr as $a);
print_r($arr);
//”?>”; #1
echo “wrong”;
?>#2

原本按照我的理解。应该是#2时,php结束。

但实际上是#1处已经结束了。也就是说这个地方的//注释并没有起到作用。

下面是执行结果:

Array ( [0] => a [1] => b [2] => c ) Array ( [0] => a [1] => b [2] => b ) “; echo “wrong”; ?>

把#1改成/*”?>”;*/时。执行结果为:

Array ( [0] => a [1] => b [2] => c ) Array ( [0] => a [1] => b [2] => b ) wrong

说明php的注释功能做的并不好。对//的处理并不妥当。