PHP的解析过程
看下边一段代码
<?php
$var=true;
echo "This is php code 1<br/>";
?>
<p size="17"> I am html code 1 </p>
<?php
echo "This is php code 2<br/>";
?>
<p size="17"> I am html code 2 </p>
<?php
if($var == true){
echo "This is if function and condition is true";
}
else
?>
<?php
{
echo "This is if function and condition is false";
}
?>
可以看到该php代码被分成了4个部分,php引擎在解析的时候会暂时忽略
中间的html代码,把被<?php和?>
包含的php代码连起来
执行,那么该文件在解析的时候实际上相当于下边的样子
<?php
$var=true;
echo "This is php code 1<br/>";
echo "This is php code 2<br/>";
if($var == true){
echo "This is if function and condition is true";
}
else
{
echo "This is if function and condition is false";
}
?>
正因为这样,我们才可以把if(){}else{}
语句拆分成两部分来写(后期会合并),但是需要注意的是拆分的格式,上边我们拆分成了if(){}else
和{}
。但是我们不能拆成if(){}
和else{}
,因为php引擎在解析if(){}
后,会认为该if语句已经执行完毕了,这时下面又出现else{}
,就肯定是错误的语法了
实际上我们可以将if else
拆分成如下的形式
-
if(){
和}else{}
-
if(){}else{
和}
总之,我们要提醒php引擎,该if语句并没有结束
函数mysql_fetch_array()除了将数据以数字索引方式储存在数组中之外,还将数据作为关联索引储存,用字段名作为键名,因此,如果用foreach来输出mysql_fetch_array()内容的话,会得到两份重复的内容!!!