1. 注意include与require的区别
在PHP变成中,include()与require()的功能相同,但在用法上却有一些不同,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面的一个例子中,如果变量$somgthing为真,则将包含文件somefile:
if($something){
include("somefile");
}
但不管$something取何值,下面的代码将把文件somefile包含进文件里:
if($something){
require("somefile");
}
下面的这个有趣的例子充分说明了这两个函数之间的不同。
$i = 1;
while ($i < 3) {
require("somefile.$i");
$i++;
}
在这段代码中,每一次循环的时候,程序都将把同一个文件包含进去。很显然这不是程序员的初衷,从代码中我们可以看出这段代码希望在每次循环时,将不同的文件包含进来。如果要完成这个功能,必须求助函数include():
$i = 1;
while ($i < 3) {
include("somefile.$i");
$i++;
}
php手册中指出的不同点:
这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果想在遇到丢失文件时停止处理页面就用 require()。include() 就不是这样,脚本会继续运行。同时也要确认设置了合适的 include_path。注意在 PHP 4.3.5 之前,包含文件中的语法错误不会导致程序停止,但从此版本之后会。
2. 注意echo和print的区别
PHP中echo和print的功能也基本相同,但是两者之间也有细微差别。在PHP代码中可以把print作为一个普通函数来使用,例如执行下面的代码后变量$res的值将为1。
$ret = print "Hello World";
这意味着print可用在一些复杂的表达式中,而echo则不行。同样,在代码中echo语句的运行速度要略微快于print语句,因为echo语句不要求返回任何数值.
php手册中指出的不同点:
print -- Output a string
echo -- Output one or more strings