PHP isset()及empty()用法区别详解
PHP isset函数作用
isset函数是检测变量是否设置。
格式:bool isset( mixed var [, mixed var [, ...]] )
返回值:
若变量不存在则返回FALSE
若变量存在且其值为NULL,也返回FALSE
若变量存在且值不为NULL,则返回TURE
同时检查多个变量时,每个单项都符号上一条要求时才返回TRUE,否则结果为FALSE
如果已经使用unset()释放了一个变量之后,它将不再是isset()。若使用isset()测试一个被设置成NULL的变量,将返回FALSE。同时要注意的是一个NULL字节("\0")并不等同于PHP的NULL常数。
警告:isset()只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用defined()函数。
<?php $a = array ('test' => 1, 'hello' => NULL); var_dump( isset ($a['test') ); // TRUE var_dump( isset ($a['foo') ); // FALSE var_dump( isset ($a['hello') ); // FALSE // 'hello' 等于 NULL,所以被认为是未赋值的。 // 如果想检测 NULL 键值,可以试试下边的方法。 var_dump( array_key_exists('hello', $a) ); // TRUE ?>
PHP的empty()函数
格式:bool empty(mixed var)
功能:检查一个变量是否为空
返回值:
若变量不存在则返回TRUE
若变量存在且值为""、0、"0"、NULL、、FALSE、array()、var $var;以及没有任何属性的对象,则返回TURE
若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var;以及没有任何属性的对象,则返回FALSE
empty()只能用于变量,传递任何其它参数都将造成Paser error而终止运行
检测常量是否已设置可使用defined()函数。
empty() 与 isset() 的一个简单比较
<?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'; } ?>
当要判断一个变量是否已经声明的时候可以使用isset函数
当要判断一个变量是否已经赋予数据且不为空,可以用empty函数
当要判断一个变量存在且不为空,先isset函数,再用empty函数
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
php empty,isset,is_null判断比较(差异与异同)
一.举例说明 A.一个变量没有定义,我们该怎么样去判断呢 复制代码 代码如下: <?php #不存在$test 变量 $isset= isset($test)?"test is define!":"test is undefine!"; echo "isset:$isset\r\n"; $empty=!empty($test)?"test is define!":"test is undefine!"
-
深入理解PHP中的empty和isset函数
近日被问到PHP中empty和isset函数时怎么判断变量的,刚开始我是一脸懵逼的,因为我自己也只是一知半解,为了弄懂其真正的原理,赶紧翻开源码研究研究.经过分析可发现两个函数调用的都是同一个函数,因此本文将对两个函数一起分析. 我在github有对PHP源码更详细的注解.感兴趣的可以围观一下,给个star.PHP5.4源码注解.可以通过commit记录查看已添加的注解. 函数使用格式 empty bool empty ( mixed $var ) 判断变量是否为空. isset bool is
-
PHP中的empty、isset、isnull的区别与使用实例
做php开发时候,通常会用到empty,isset,is_null这几个函数,使用不当的话甚至给自己的程序带来一些安全隐患的bug.很多时候,对于isset,empty都认为差不多.因此开发时候,就没有注意,一段作为流程判断时候,就出现bug问题了.下面我们分别介绍一下这三个函数的区别和使用. empty 如果 变量 是非空或非零的值,则 empty() 返回 FALSE.换句话说,"".0."0″.NULL.FALSE.array().var $var.未定义;以及没有任何
-
PHP中empty,isset,is_null用法和区别
1.empty用法 bool empty ( mixed var) 如果 var 是非空或非零的值,则 empty() 返回 FALSE.换句话说,"".0."0".NULL.FALSE.array().var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE 2.isset() isset -- 检测变量是否设置 描述 bool isset ( mixed var [, mixed var [, ...]]) 如果 var
-
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
ISSET();--适合于检测是否存在这个参数. 定义和作用范围:用于测试一个变量是否具有值(包括0,FALSE,或者一个空字串,但不能是NULL),即:"http://localhost/?fo="也是可以通过检测,因此不适用.但如果是"http://localhost/"参数中并不含fo参数,就可以用isset来检测,此时isset($_GET['fo'])返回false. 不适用于:该函数不适合于验证html表单中的文本的有效方式.要检查用户输入文本是否有效,
-
PHP中检查isset()和!empty()函数的必要性
isset()函数是PHP中的内置函数,它检查变量是否已设置且不为NULL.此函数还检查声明的变量,数组或数组键是否具有空值,如果是,isset()返回false,它在所有其他可能的情况下返回true. 语法: bool isset( $var, mixed ) 参数:此函数接受多个参数.这个函数的第一个参数是$ var.此参数用于存储变量的值. 例: <?php $num = '0'; if( isset( $num ) ) { print_r(" $num is set with is
-
PHP isset()与empty()的使用区别详解
PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: 若变量不存在则返回 FALSE 若变量存在且其值为NULL,也返回 FALSE 若变量存在且值不为NULL,则返回 TURE 同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE 版本:PHP 3, PHP 4, PHP 5 更多说明: 使用 unset() 释放变量之后,它将
-
PHP isset()及empty()用法区别详解
PHP isset函数作用 isset函数是检测变量是否设置. 格式:bool isset( mixed var [, mixed var [, ...]] ) 返回值: 若变量不存在则返回FALSE 若变量存在且其值为NULL,也返回FALSE 若变量存在且值不为NULL,则返回TURE 同时检查多个变量时,每个单项都符号上一条要求时才返回TRUE,否则结果为FALSE 如果已经使用unset()释放了一个变量之后,它将不再是isset().若使用isset()测试一个被设置成NULL的变量,
-
MySQL的视图和索引用法与区别详解
MySQL的视图 简单来说MySQL的视图就是对SELECT 命令的定义的一个快捷键,我们查询时会用到非常复杂的SELECT语句,而这个语句我们以后还会经常用到,我们可以经这个语句生产视图.视图是一个虚拟的表,它不存储数据,所用的数据都在真实的表中. 这样做的好处有: 1.防止有未经允许的租户访问到敏感数据 2.将多个物理表抽象成一个逻辑表 3.结果容易理解 4.获得数据更容易,很多人对SQL语句不太了解,我们可以通过创建视图的形式方便用户使用. 5.显示数据更容易. 6.维护程序更方便.调试视
-
基于DOM节点删除之empty和remove的区别(详解)
要移除页面上节点是开发者常见的操作,jQuery提供了几种不同的方法用来处理这个问题,这里我们开仔细了解下empty和remove方法 empty 顾名思义,清空方法,但是与删除又有点不一样,因为它只移除了 指定元素中的所有子节点. 这个方法不仅移除子元素(和其他后代元素),同样移除元素里的文本.因为,根据说明,元素里任何文本字符串都被看做是该元素的子节点.请看下面的HTML: <div class="hello"><p>这是p标签</p></
-
jq stop()和:is(:animated)的用法及区别(详解)
stop(true,true): 表示停止匹配元素正在进行的动画并跳转到末状态,清空未执行完的动画队列.常用于"解决光标移入移出得过快导致的动画效果与光标动作不一致"问题! jQuery stop() 方法 jQuery stop() 方法用于停止动画或效果,在它们完成之前. stop() 方法适用于所有 jQuery 效果函数,包括滑动.淡入淡出和自定义动画. 语法 $(selector).stop(stopAll,goToEnd);可选的 stopAll 参数规定是否应该清除动画队
-
vue.js的computed,filter,get,set的用法及区别详解
1.vue.js的computed方法: 处理复杂逻辑,基于依赖缓存,当依赖发生改变时会重新取值.用methods也可以实现同样的效果,但methods在重新渲染的时候会重新调用执行,在性能上computed优于methods,当不需要缓存时可用methods. 实例1:computed和methods实现翻转字符串 <template> <div> <input v-model="message"> <p>原始字符串: {{ messa
-
基于python cut和qcut的用法及区别详解
我就废话不多说了,直接上代码吧: from pandas import Series,DataFrame import pandas as pd import numpy as np from numpy import nan as NA from matplotlib import pyplot as plt ages = [20,22,25,27,21,23,37,31,61,45,41,32] #将所有的ages进行分组 bins = [18,25,35,60,100] #使用pandas
-
pytorch:model.train和model.eval用法及区别详解
使用PyTorch进行训练和测试时一定注意要把实例化的model指定train/eval,eval()时,框架会自动把BN和DropOut固定住,不会取平均,而是用训练好的值,不然的话,一旦test的batch_size过小,很容易就会被BN层导致生成图片颜色失真极大!!!!!! Class Inpaint_Network() ...... Model = Inpaint_Nerwoek() #train: Model.train(mode=True) ..... #test: Model.ev
-
C语言指针与引用的区别以及引用的三种用法案例详解
1.指针与引用的区别: 指针是一块内存的地址值,而引用是一块内存的别名. 下面引自://www.jb51.net/article/221791.htm 从概念上讲.指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变. 而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一个变量). 在C++中,指针和引用经
-
PyTorch中torch.tensor与torch.Tensor的区别详解
PyTorch最近几年可谓大火.相比于TensorFlow,PyTorch对于Python初学者更为友好,更易上手. 众所周知,numpy作为Python中数据分析的专业第三方库,比Python自带的Math库速度更快.同样的,在PyTorch中,有一个类似于numpy的库,称为Tensor.Tensor自称为神经网络界的numpy. 一.numpy和Tensor二者对比 对比项 numpy Tensor 相同点 可以定义多维数组,进行切片.改变维度.数学运算等 可以定义多维数组,进行切片.改变
-
Oracle addBatch()用法实例详解
Oracle addBatch()用法实例详解 PreparedStatement.addbatch()的使用 Statement和PreparedStatement的区别就不多废话了,直接说PreparedStatement最重要的addbatch()结构的使用. 1.建立链接 Connection connection =getConnection(); 2.不自动 Commit connection.setAutoCommit(false); 3.预编译SQL语句,只编译一回哦,效
随机推荐
- Java源码解析之object类
- 亚马逊经典面试题实例详解
- 浅谈pyhton学习中出现的各种问题(新手必看)
- 深入解析Redis中常见的应用场景
- Nginx 遇到502 Bad Gateway 自动重启的脚本代码
- java网络编程之socket网络编程示例(服务器端/客户端)
- JavaScript插件化开发教程(六)
- PHP编程入门的基本语法知识点总结
- php 智能404跳转代码,适合换域名没改变目录的网站
- PHP批量上传图片的具体实现方法介绍.
- android根据分辨率自动调整字体大小的实例代码
- 最佳的addEvent事件绑定是怎样诞生的
- 浅谈Python 的枚举 Enum
- SQL里面用自定义Split()完成个性化需求
- 工作需要写的一个js拖拽组件
- js数字滑动时钟的简单实现(示例讲解)
- PHP自带方法验证邮箱、URL、IP是否合法的函数
- 有关于整体刷新和局部刷新frameset窗口
- PHP+MySQL插入操作实例
- 利用FSO取得图像文件信息