首页vns威尼斯城官网登入 › PHP的isset()函数 一般用来检测变量是否设置,PHP的isset()函数 一般用来检测变量是否设置 

PHP的isset()函数 一般用来检测变量是否设置,PHP的isset()函数 一般用来检测变量是否设置 

那表示,我们在行使变量管理函数时,当该变量只怕现身0的值,使用 empty(卡塔尔要小心,当时用 isset 替代它更明智一些。
当贰个php页面包车型大巴 U本田UR-VL 后面部分参数现身 id=0
时(比方:test.php?id=0),试相比较:

返回值: 

$id=0; 
empty($id)?print "It's empty .":print "It's $id ."; 
//结果:It's empty . 
print "<br>"; 
!isset($id)?print "It's empty .":print "It's $id ."; 
//结果:It's 0 .
if(empty($id)) $id=1; 
print $id; // 得到 1 
if(!isset($id)) $id=1; 
print $id; //得到 0 

返回值:

那代表,大家在利用变量管理函数时,当该变量恐怕现身0的值,使用 empty(State of Qatar要小心,这时候用 isset 代替它更加精多美滋(Karicare卡塔尔国些。 
当三个php页面的 U智跑L 尾巴部分参数现身 id=0
时(比方:test.php?id=0),试比较:

当要 判定一个变量是不是曾经宣示的时候 能够动用 isset 函数
当要 判别多个变量是或不是曾经授予数据且不为空 能够用 empty 函数
当要 推断 五个变量 存在且不为空 先isset 函数 再用 empty 函数

比如变量为空字符串,则empty(卡塔尔(قطر‎会回来TRUE,isset(卡塔尔国会回去TRUE; 
只要变量未定义,则empty(卡塔尔国会回去TRUE,isset(卡塔尔国会回去FLASE; 

设若变量为0,则empty(State of Qatar会回去TRUE,isset(卡塔尔会回到TRUE;

要说它们的牵连,其合作点就是empty(卡塔尔国和
isset(卡塔尔(قطر‎都以变量管理函数,功能是推断变量是不是早就布署,就是出于它们在拍卖变量进程中有超级大的相符性,才以致对它们的关联认知不足。单从
empty(卡塔尔和isset(卡塔尔国那五个函数本人来构思的话会把人弄得更糊涂,换三个角度来它。empty(卡塔尔和isset(卡塔尔(قطر‎的管理目的无外乎未定义变量,0,空字符串。 
假诺变量为0,则empty(卡塔尔国会再次来到TRUE,isset(卡塔尔国会重临TRUE; 

<?php 
$var = 0; 
// 结果为 true,因为 $var 为空 
if (empty($var)) { 
echo '$var is either 0 or not set at all'; 
} 
// 结果为 false,因为 $var 已设置 
if (!isset($var)) { 
echo '$var is not set at all'; 
} 
?>
if(empty($id)) $id=1; - 若 id=0 ,id 也会为1 
if(!isset($id)) $id=1; - 若 id=0 ,id 不会为1 

若变量不设有则赶回 FALSE
若变量存在且其值为NULL,也回到 FALSE
若变量存在且值不为NULL,则赶回 TURE
而且检查八个变量时,每一种单项都切合上一条必要时才回来 TRUE,不然结果为
FALSE
版本:PHP 3, PHP 4, PHP 5

若变量官样文章则赶回 FALSE 
若变量存在且其值为NULL,也回到 FALSE 
若变量存在且值不为NULL,则赶回 TURE 
何况检查多少个变量时,各类单项都完美融合上一条必要时才回到 TRUE,不然结果为
FALSE 
版本:PHP 3, PHP 4, PHP 5 
更加多表达: 
使用 unset(卡塔尔(قطر‎ 释放变量之后,它将不再是 isset(State of Qatar。 
PHP函数isset(State of Qatar只可以用于变量,传递任何其余参数都将促成深入分析错误。 
检测常量是或不是已设置可使用 defined(卡塔尔(قطر‎ 函数。 

可分别运行以下代码检查测验上述揣度:

格式:bool empty ( mixed var ) 

描述bool isset ( mixed var [, mixed var [, ...]] )

假定已经选用 unset(卡塔尔(قطر‎ 释放了叁个变量之后,它将不再是 isset(State of Qatar。若采取isset(卡塔尔国 测验二个棉被服装置成 NULL 的变量,将回来 FALSE。同期要留意的是三个NULL 字节(”?”)并不平等 PHP 的 NULL 常数。 
警戒: isset(卡塔尔只好用来变量,因为传递任何其余参数都将引致解析错误。若想检查评定常量是或不是已安装,可使用
defined(卡塔尔函数。

PHP的isset(卡塔尔国函数 经常用来检查测量检验变量是还是不是设置

注: 由于这是叁个言语布局而非函数,因而它不只怕被变量函数调用。 
注: empty(卡塔尔(قطر‎只检查测量试验变量,检验任何非变量的东西都将引致拆解深入分析错误。换句话说,前面包车型地铁讲话将不会起效果:
empty(addslashes($name卡塔尔(قطر‎卡塔尔(قطر‎。 

注: 由于那是七个言语构造而非函数,由此它无法被变量函数调用。
注: empty(卡塔尔只检查测量检验变量,检查实验任何非变量的东西都将产生拆解解析错误。换句话说,前面包车型大巴言语将不会起效果:
empty(addslashes($name卡塔尔(قطر‎卡塔尔(قطر‎。
下边是我们测验过的一段isset与empty函数详细例子的代码,看完那个大致就差不离了:

手册中对empty(卡塔尔(قطر‎的演说如下: 

描述bool empty( mixed var )
就算 var 是非空或非零的值,则 empty(卡塔尔(قطر‎ 重返FALSE。换句话说,””、0、”0″、NULL、FALSE、array(卡塔尔(قطر‎、var $var;
甚至从未其余性质的目的都将被感到是空的,要是 var 为空,则赶回 TRUE。

尽管 var 存在则赶回 TRUE,不然重临 FALSE。 

要说它们的关联,其协同点正是empty(State of Qatar和
isset(卡塔尔国都以变量管理函数,效率是判定变量是或不是早就布置,正是由于它们在拍卖变量进程中有十分的大的相通性,才变成对它们的关系认知不足。单从
empty(卡塔尔(قطر‎和isset(State of Qatar那四个函数本身来思忖的话会把人弄得更糊涂,换二个角度来它。empty(卡塔尔国和isset(卡塔尔国的拍卖对象无外乎未定义变量,0,空字符串。

error_reporting(E_ALL); 
echo '<B>未定义$var</b><Br>'; 
echo "isset测试:<Br>"; 
if ( isset ( $var )) 
{ 
echo '变量$var存在!<Br>' ; 
} 
echo "empty测试:<Br>"; 
if ( empty ( $var )){ 
echo '变量$var的值为空<Br>'; 
} 
else 
{ 
echo '变量$var的值不为空<Br>'; 
} 
echo "变量直接测试:<Br>"; 
if ( $var ){ 
echo '变量$var存在!<Br>'; 
} 
else { 
echo '变量$var不存在!<Br>'; 
} 
echo '----------------------------------<br>'; 
echo '<B>$var = \'\'</b><Br>'; 
echo "isset测试:<Br>"; 
$var = ''; 
if ( isset ( $var )) 
{ 
echo '变量$var存在!<Br>' ; 
} 
echo "empty测试:<Br>"; 
if ( empty ( $var )){ 
echo '变量$var的值为空<Br>'; 
} 
else 
{ 
echo '变量$var的值不为空<Br>'; 
} 
echo "变量直接测试:<Br>"; 
if ( $var ){ 
echo '变量$var存在!<Br>'; 
} 
else { 
echo '变量$var不存在!<Br>'; 
} 
echo '----------------------------------<br>'; 
echo '<B>$var = 0</b><Br>'; 
echo 'isset测试:<Br>'; 
$var = 0 ; 
if ( isset ( $var )) 
{ 
echo '变量$var存在!<Br>' ; 
} 
echo "empty测试:<Br>"; 
if ( empty ( $var )){ 
echo '变量$var的值为空<Br>'; 
} 
else 
{ 
echo '变量$var的值不为空<Br>'; 
} 
echo "变量直接测试:<Br>"; 
if ( $var ){ 
echo '变量$var存在!<Br>'; 
} 
else { 
echo '变量$var不存在!<Br>'; 
} 
echo '----------------------------------<br>'; 
echo '<B>$var = null</b><Br>'; 
echo 'isset测试:<Br>'; 
$var = null ; 
if ( isset ( $var )) 
{ 
echo '变量$var存在!<Br>' ; 
} 
echo "empty测试:<Br>"; 
if ( empty ( $var )){ 
echo '变量$var的值为空<Br>'; 
} 
else 
{ 
echo '变量$var的值不为空<Br>'; 
} 
echo "变量直接测试:<Br>"; 
if ( $var ){ 
echo '变量$var存在!<Br>'; 
} 
else { 
echo '变量$var不存在!<Br>'; 
} 
echo '----------------------------------<br>'; 

echo '<B>$var ="php"</b><Br>'; 
echo 'isset测试:<Br>'; 
$var = "php"; 
if ( isset ( $var )) 
{ 
echo '变量$var存在!<Br>' ; 
} 

echo "empty测试:<Br>"; 
if ( empty ( $var )){ 
echo '变量$var的值为空<Br>'; 
} 
else 
{ 
echo '变量$var的值不为空<Br>'; 
} 
echo "变量直接测试:<Br>"; 
if ( $var ){ 
echo '变量$var存在!<Br>'; 
} 
else { 
echo '变量$var不存在!<Br>'; 
} 
<?php 
error_reporting(E_ALL); 
echo '<B>未定义$var</b><Br>'; 
echo "isset测试:<Br>"; 
if ( isset ( $var )) 
{ 
echo '变量$var存在!<Br>' ; 
} 
echo "empty测试:<Br>"; 
if ( empty ( $var )){ 
echo '变量$var的值为空<Br>'; 
} 
else 
{ 
echo '变量$var的值不为空<Br>'; 
} 
echo "变量直接测试:<Br>"; 
if ( $var ){ 
echo '变量$var存在!<Br>'; 
} 
else { 
echo '变量$var不存在!<Br>'; 
} 
echo '----------------------------------<br>'; 
echo '<B>$var = \'\'</b><Br>'; 
echo "isset测试:<Br>"; 
$var = ''; 
if ( isset ( $var )) 
{ 
echo '变量$var存在!<Br>' ; 
} 
echo "empty测试:<Br>"; 
if ( empty ( $var )){ 
echo '变量$var的值为空<Br>'; 
} 
else 
{ 
echo '变量$var的值不为空<Br>'; 
} 
echo "变量直接测试:<Br>"; 
if ( $var ){ 
echo '变量$var存在!<Br>'; 
} 
else { 
echo '变量$var不存在!<Br>'; 
} 
echo '----------------------------------<br>'; 
echo '<B>$var = 0</b><Br>'; 
echo 'isset测试:<Br>'; 
$var = 0 ; 
if ( isset ( $var )) 
{ 
echo '变量$var存在!<Br>' ; 
} 
echo "empty测试:<Br>"; 
if ( empty ( $var )){ 
echo '变量$var的值为空<Br>'; 
} 
else 
{ 
echo '变量$var的值不为空<Br>'; 
} 
echo "变量直接测试:<Br>"; 
if ( $var ){ 
echo '变量$var存在!<Br>'; 
} 
else { 
echo '变量$var不存在!<Br>'; 
} 
echo '----------------------------------<br>'; 
echo '<B>$var = null</b><Br>'; 
echo 'isset测试:<Br>'; 
$var = null ; 
if ( isset ( $var )) 
{ 
echo '变量$var存在!<Br>' ; 
} 
echo "empty测试:<Br>"; 
if ( empty ( $var )){ 
echo '变量$var的值为空<Br>'; 
} 
else 
{ 
echo '变量$var的值不为空<Br>'; 
} 
echo "变量直接测试:<Br>"; 
if ( $var ){ 
echo '变量$var存在!<Br>'; 
} 
else { 
echo '变量$var不存在!<Br>'; 
} 
echo '----------------------------------<br>'; 

echo '<B>$var ="php"</b><Br>'; 
echo 'isset测试:<Br>'; 
$var = "php"; 
if ( isset ( $var )) 
{ 
echo '变量$var存在!<Br>' ; 
} 

echo "empty测试:<Br>"; 
if ( empty ( $var )){ 
echo '变量$var的值为空<Br>'; 
} 
else 
{ 
echo '变量$var的值不为空<Br>'; 
} 
echo "变量直接测试:<Br>"; 
if ( $var ){ 
echo '变量$var存在!<Br>'; 
} 
else { 
echo '变量$var不存在!<Br>'; 
} 
?>

当要
推断三个变量是还是不是早就宣称的时候 能够运用 isset 函数 
当要 推断贰个变量是还是不是早就授予数据且不为空 能够用 empty 函数 
当要 剖断 二个变量 存在且不为空 先isset 函数 再用 empty
函数

empty(卡塔尔国的回来值=!(boolean卡塔尔国var,但不会因为变量未定义而发出警示音讯。参见转变为布尔值获取越来越多新闻。
empty(卡塔尔(قطر‎ 只可以用来变量,传递任何别的参数都将引致Paser error而终止运营。
检查测试常量是或不是已设置可选拔 defined(卡塔尔 函数。

$var = 0; 
// 结果为 true,因为 $var 为空 
if (empty($var)) { 
echo '$var is either 0 or not set at all'; 
} 
// 结果为 false,因为 $var 已设置 
if (!isset($var)) { 
echo '$var is not set at all'; 
} 

返回值:

在选拔 php 编写页面程序时,作者一再使用变量管理函数剖断 php
页面尾部参数的某部变量值是还是不是为空,带头的时候本身习贯了动用 empty(卡塔尔(قطر‎函数,却开掘了有的难点,因而改用 isset(卡塔尔(قطر‎ 函数,难点不再。 
看名称就能够想到其意义,empty(卡塔尔国 剖断三个变量是还是不是为“空”,isset(卡塔尔剖断贰个变量是不是业已安装。正是这种所谓的“看名称就能够想到其意义”,令自个儿起先时走了些弯路:当一个变量值等于0时,empty(State of Qatar也会创造(True),因此会爆发一些意料之外。原本,empty(卡塔尔 和 isset(State of Qatar就算都是变量处理函数,它们都用于判别变量是还是不是曾经安顿,它们却是有必然的分别:empty还恐怕会检查实验变量是或不是为空、为零。当贰个变量值为0,empty(State of Qatar以为这么些变量同等于空,即一对一于还没设置。 
例如说检查实验 $id 变量,当 $id=0 时,用empty(卡塔尔 和 isset(卡塔尔(قطر‎ 来检查实验变量 $id
是或不是业已配备,两都将赶回不一致的值—— empty(State of Qatar 以为未有计划,isset(State of Qatar能够赢得 $id 的值:

即便已经选择 unset(卡塔尔(قطر‎ 释放了三个变量之后,它将不再是 isset(卡塔尔(قطر‎。若选取isset(卡塔尔(قطر‎ 测验三个被安装成 NULL 的变量,将重回 FALSE。同期要留神的是叁个NULL 字节(”?”)并不平等 PHP 的 NULL 常数。
提个醒: isset()只可以用来变量,因为传递任何其余参数都将招致分析错误。若想检验常量是还是不是已设置,可利用
defined(State of Qatar函数。

作用:检查实验变量是还是不是设置 

更加多表达:

若变量不设有则赶回 TRUE 
若变量存在且其值为""、0、"0"、NULL、、FALSE、array(卡塔尔(قطر‎、var $var;
以致没有任何性质的靶子,则赶回 TURE 
若变量存在且值不为""、0、"0"、NULL、、FALSE、array(卡塔尔(قطر‎、var $var;
以至从未此外性质的靶子,则赶回 FALSE 
版本:PHP 3, PHP 4, PHP 5 
越多表明: 
empty(State of Qatar的回来值=!(boolean卡塔尔var,但不会因为变量未定义而发出警示新闻。参见调换为布尔值获取更加多消息。 
empty(卡塔尔国 只可以用于变量,传递任何其余参数都将招致Paser
error而告一段落运维。 
检查评定常量是或不是已设置可采纳 defined(卡塔尔国 函数。 
事例: empty(卡塔尔 与 isset(卡塔尔 的二个简易相比较

利用 unset(卡塔尔(قطر‎ 释放变量之后,它将不再是 isset(卡塔尔国。
PHP函数isset(卡塔尔(قطر‎只好用于变量,传递任何其它参数都将形成解析错误。
检查测量试验常量是不是已安装可使用 defined(卡塔尔 函数。

PHP的empty(卡塔尔(قطر‎函数 决断值为否为空 

转载本站文章请注明出处:vns威尼斯城官网登入 http://www.tiec-ccpittj.com/?p=5246

上一篇:

下一篇:

相关文章