最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php中isset()函数变量判断实例
时间:2022-06-24 19:55:42 编辑:袖梨 来源:一聚教程网
isset函数是检测变量是否设置。
格式:bool isset ( mixed var [, mixed var [, ...]] )
返回值:
若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("")并不等同于 PHP 的 NULL 常数。
获取用户属性时有的用户能,有的用户不能,同样的逻辑为什么不能经检查使用了类似这样的代码
代码如下 | 复制代码 |
$userInfo=’abc’; |
发现$account得到的是空,查了一些资料也没得到结果
做了一个实验得到了结论
代码如下 | 复制代码 |
$a=’abc’; |
结果是a
当是字符串key没有时,它会转化成数字key,是0,所以得到了a
现在php5.4已经修复
趁这机会,整理了一下isset的用法,供大家借鉴
代码如下 | 复制代码 |
$var = ''; if (isset($var)) { // 在后边的例子中,我们将使用 var_dump函数 输出 isset() 的返回值。 $a = "test"; var_dump( isset($a) ); // TRUE unset ($a); var_dump( isset ($a) ); // FALSE $foo = NULL; ?> |
这对于数组中的元素也同样有效:
代码如下 | 复制代码 |
$a = array ('test' => 1, 'hello' => NULL); var_dump( isset ($a['test') ); // TRUE // 'hello' 等于 NULL,所以被认为是未赋值的。 ?> |
键 ‘b’ 的值等于 NULL,所以被认为是未置值的。
但是键’c'的值是空结果是true,空值是代表 有设置的 如果想检测 NULL 键值,可以试试下边的方法。
代码如下 | 复制代码 |
var_dump( array_key_exists(‘hello’, $a) ); // TRUE |
警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。
一些应用中实例
PHP isset()对PHP参数判断您可以使用 PHP isset() 来判断一个参数是否被定义,注意如果该参数为空,或者"n"(NULL字节)使用 PHP isset() 判断之后,都会为TRUE。
代码如下 | 复制代码 |
$weigeti=''; //这里初始参数$weigeti=''; if(isset($weigeti)){ echo '参数$weigeti已经设定,且值不为NULL'; } if(isset($weigeti0)){ echo '参数$weigeti0已经设定,且值不为NULL'; } if(isset($vget)){ echo '参数$vget已经设定,且值不为NULL'; } if(isset($weigeti2)){ echo '参数$weigeti2已经设定,且值不为NULL'; } if(isset($weigeti3)){ echo '参数$weigeti3已经设定,且值不为NULL'; } unset($weigeti4); //这里给$weigeti4 释放掉了 |
PHP isset() 对数组的判断在使用PHP数组的时候,需要判断数组的某个值是否存在也可以使用 PHP isset() 函数。
代码如下 | 复制代码 |
$V=array( // var_dump用于输出TRUE 或 FALSE
var_dump(isset($V['V-Get']['e'])); var_dump(isset($V['V-Get']['wuliu']['yiwu'])); var_dump(isset($V['V-Get']['wuliu']['sh'])); |
PHP isset()多参数判断很多时候我们需要对多个参数进行判断,可以使用isset($A)&&isset($B)……来判断这些参数是不是都已经设定了,而且都不为NULL,对此您可以使用isset()多参数来判断是不是都设定了。
代码如下 | 复制代码 |
isset($v1)&&isset($v2)&&isset($v3)…… 等价于 isset($v1,$v2,$v3……) ?> |
使用isset()判断多个参数,需要所有参数都被设定,且不为NULL,只要其中有一个参数没有被设定过,或者为NULL,那么整个isset()就为FALSE。
PHP isset()判断$_POST、$_GET、$_REQUEST等值。用isset() 或者empty() 判断通过表单传递来的参数是isset() 最常见的用法。
代码如下 | 复制代码 |
if(isset($_POST['from'])&&'E.V-Get.com'==$_POST['from']){ echo '网站通过POST传递的来源是E.V-Get.com'; } |
根据上面我们可以用isset判断多参数,在对表单传递来的值进行判断就最方便了。
代码如下 | 复制代码 |
//表单传递来user用户名和 pass必须同时存在才能执行 } |
PHP isset($var{字符串长度}) 判断字符串长度用PHP判断字符串是否存在或者判断字符串长度是否超过某一数字或者判断字符串长度是否为空一般使用strlen(),但是其实使用isset()性能更优越。
代码如下 | 复制代码 |
//三元,等同于 if(isset($_POST['from'])){$weigeti=$_POST['from'];}else{$weiget='';} $weigeti=isset($_POST['from'])?$_POST['from']:''; //判断$weigeti存在,且字符串长度大于0 // 性能更优越的写法,判断$weigeti第1个字符是否设定了 |
相关文章
- 王者荣耀侦探能力大测试攻略 王者荣耀侦探能力大测试怎么过 11-22
- 无期迷途主线前瞻兑换码是什么 11-22
- 原神欧洛伦怎么培养 11-22
- 炉石传说网易云音乐联动怎么玩 11-22
- 永劫无间手游确幸转盘怎么样 11-22
- 无期迷途主线前瞻兑换码是什么 无期迷途主线前瞻直播兑换码介绍 11-22