include()与require()的用途是完全一样的,不一定非得哪个放在最前面哪个放在中间。他们最根本的区别在于错误处理的方式不一样。
1.处理错误的方式:
require()一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误
include()一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。
2.返回值
include有返回值,而require没有
3.引入时间不同:
require()通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。
include()一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。
isset()与empty()两者都是测试变量用的。
isset()是测试变量是否被赋值;
empty()是测试一个已经被赋值的变量是否为空。
注意:如果一个变量没被赋值就引用在php里是被允许的,但会有notice提示。
如果一个变量被赋空值,$aa=”“或者$aa=0或者$aa=false,那么empty($aa)返回真,isset($aa)也返回真,就是说赋空值不会注销一个变量。
要注销一个变量,可以用 unset($aa)或者$aa=NULL。
误区:当一个变量值等于0时,empty()也会成立(True)。
empty 和 isset 虽然都是变量处理函数,它们都用来判断变量是否已经配置,它们却是有一定的区别:
empty还会检测变量是否为空、为零。当一个变量值为0,empty 认为这个变量同等于空,即相当于没有设置,返回true
而isset则认为变量已生成,返回0。
<?php $aa=0; var_dump(empty($aa)); //返回true var_dump(isset($aa)); //返回true ?>
这意味着,我们在使用变量处理函数时,当该变量可能出现0的值,使用 empty 要小心,这个时候用 isset 取代它更明智一些。
empty用于判断是否为空, 空的概念非常广泛, 包括:
(1)数字0;
(2)空的字符;
(3)定义为null的变量;
(4)定义为false的变量;
(5)空数组;
(6)未定义变量。
更重要的, empty只能判断变量, 而不能判断其他任何形式的内容, 也就是说
empty(false);会触发一个错误, 而不是返回true
PHP的isset()函数 一般用来检测变量是否设置
功能:检测变量是否设置
返回值:
若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE
更多说明:
使用 unset() 释放变量之后,它将不再是 isset()。
PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。
检测常量是否已设置可使用 defined() 函数。
PHP的empty()函数 判断值为否为空
功能:检查一个变量是否为空
返回值:
若变量不存在则返回 TRUE
若变量存在且其值为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE
若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE
检测常量是否已设置可使用 defined() 函数。
例子: empty() 与 isset() 的一个简单比较
代码如下:
<?php $var = 0; if (empty($var)) { echo '11111111';// 结果为 true,因为 $var 为空 } if (!isset($var)) { echo '111111';// 结果为 false,因为 $var 已设置 } ?>
附加:
php中几个函数的比较 |
|
|
|
|