首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP——isset和empty

前言 对于这两个PHP函数大家肯定都很熟悉,但是其二者的区别又有那些呢? 对比 isset  | 检测变量是否被设置过 1. 变量不存在,返回FALSE 2....变量存在且值不为NULL,返回TURE  empty | 检测变量是否为空 1.变量存在且值为非空非零的值,返回FALSE 2.变量存在且值为空为零时,返回TRUE PHP变量被认为空的几种情况 1."...php $var = 0; // true if (empty($var)) { echo 'true, $var为空'; } // true if (isset($var)) {...>  由此可见,当判断一些变量的时候,不能一味的使用empty或者isset,应该根据实际的情况去使用,如:用户的昵称 如果用户的昵称就是0那你用empty判断不就出问题了嘛,但是如果用户的昵称为空字符串时...,用isset判断也同样会有问题, 所以这种情况下就不能简单的用empty或者isset就进行判断。

10610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHPempty,is_null,isset的区别

    empty 判断变量是否为空,如果变量是非空 或非零 的值,则 empty() 返回 FALSE。...从中我们可以发现只要变量是""或者0,或者是false和null,只要是这些值empty都会返回true。 isset只是判断变量是否存在,只要你这个变量不是null或未赋值,返回结果都是true。...同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。 而is_null正好是isset的反结果,我们可以把它看成是!isset,是isset的一个逆操作。...从以上的例子,我们也可以得出下面这几个结论(以后编程中会经常用到的哦): 假设 $var 是任何type 当 empty(var) 为 true 时,(bool)(var) 为 false 。...换句话说,后边的语句将不会起作用: empty(addslashes($name))。 (2)isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。

    1.1K20

    php函数 isset(), empty(), is_null() 的区别

    NULL: 当你在你的脚本写下这样一行代码 $myvariable; //此处你想定义一个变量,但未赋值。...Undefined variable: myvariable in 如果将其改写成: $myvariable = NULL; echo $myvariable + 3; //这样就不会有问题了 所以得出在你的脚本使用一个变量时最好赋一个默认值...is_null(): bool is_null ( mixed $var ) (php.net官方文档的函数定义) 当参数满足下面三种情况时,is_null()将返回TRUE,其它的情况就是FALSE...正好和is_null()函数相反,is_null()为TRUE的情况isset()中就为FALSE。有意思!如果传递多个参数,将取交集。即所有参数全部符合 isset() 时才返回 TRUE。...来看一些例子: $myvar = NULL; empty($myvar); // TRUE $myvar = 0; empty($myvar); // TRUE $myvar = FALSE; empty

    1.5K40

    php empty()和isset()的区别

    使用php编写页面程序时,我经常使用变量处理函数判断php页面尾部参数的某个变量值是否为空PHP 使用 php 编写页面程序时,我经常使用变量处理函数判断...php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再。...这意味着,我们使用变量处理函数时,当该变量可能出现0的值,使用 empty() 要小心,这个时候用 isset 取代它更明智一些。...,正是由于它们处理变量过程中有很大的相似性,才导致对它们的关系认识不足。...TRUE,isset()会返回FLASE; 手册empty()的解释如下: 描述bool empty( mixed var ) 如果 var 是非空或非零的值,则 empty() 返回 FALSE

    2K60

    phpisset与empty函数的困惑与用法分析

    本文实例讲述了phpisset与empty函数的困惑与用法。...分享给大家供大家参考,具体如下: 在学习php有一段时间之后,感觉自己的基础知识还是有点不牢固,有的问题就不怎么知道,比如就有一个,判断一个变量是否为空的情况下,我就不知道是用isset()还是empty...php $a = null; var_dump(isset($a));//a变量已赋值,但是被设置成null,故返回false var_dump(isset($b));//内存不存在变量b,故返回...php $a = null; var_dump(empty($a));//true $b = ""; var_dump(empty($b));//true $c = "0"; var_dump...注意:以前我在做项目的时候,出现了这样的一个问题,我把select下拉列表框的选中的值传到服务器,服务器从超全局数组获取到了值,但是当时我不清楚isset()和empty()的区别,当时只知道他们都能判断变量是否存在

    74841

    PHP开发过程的那些坑(二) ——PHP empty函数

    PHP开发过程的那些坑(二)——PHP empty函数 (原创内容,转载请注明来源,谢谢) 坑: 工作过程,常用empty()函数判断数组是否为空,为空时返回true,不是为空时返回false。...经过查资料,才发现empty函数确实是不允许嵌套函数。...分析: 查看PHP官方手册,http://php.net/manual/zh/function.empty.php,发现里面有这么一段话:“ PHP 5.5 之前,empty() 仅支持变量;任何其他东西将会导致一个解析错误...更新日志,发现“PHP5.5.0 empty() 现在支持表达式了,而不仅仅是变量。”...因此,说明PHP5.5或者更高的版本,是可以支持empty()里面传其他内容的,但是如果使用PHP5.5之前的版本,还是先定义一个变量,再把这变量传进empty

    1.1K80

    PHP开发过程的那些坑(五) ——PHPempty()

    PHP开发过程的那些坑(五)——PHPempty() (原创内容,转载请注明来源,谢谢) 一、遇到的问题 PHPempty不是一个函数,而是一个语言结构,用其可以判断大多数的变量是否为空。...但是,判断private的属性(已经用魔术方法__get()保证可以获取到)的时候,会发生奇怪的事情。...这样就可以解释,为什么实际属性值非空,而empty判断是true。 三、解决方案 1、采用==判断是否为空。...——written by linhxx 2017.09.14 相关阅读: PHP开发过程的那些坑(四) ——PDO bindParam函数 PHP开发过程的那些坑(三) ——PHParray_shift...函数 PHP开发过程的那些坑(二) ——PHP empty函数 PHP开发过程的那些坑(一) ——对象拷贝

    96360

    HTML 嵌入 PHP 代码

    PHP 与 HTML PHP 天生对 Web 和 HTML 友好, PHP 诞生之初,主要用于 Web 1.0 构建个人主页,那个时候,PHP 代表的是 Personal Home Page,随着... PhpStorm 编写 Html 代码 通过 php -S localhost:9000 启动 PHP 内置的 Web 服务器(已启动忽略),浏览器访问 http://localhost:9000... HTML 嵌入 PHP 代码 接下来,我们 hello.php ,将上一步 和 之间的 HTML 文本替换成 PHP 代码: 之间,并且末尾的 ?> 不能省略,包含纯 PHP 代码的文件,最后的 ?...小结 由此可见, PHP 文件,既可以编写纯 PHP 代码,也可以混合 HTML + PHP 代码进行编程( HTML 嵌入 PHP 代码需要通过完整的 进行包裹)。

    6.2K10

    PHP为什么empty可以访问不存在的索引

    开始之前, 先抛出问题: $arr = []; echo 'empty: ', PHP_EOL; var_dump(empty($arr['1'])); echo 'is_array: ', PHP_EOL...但是, 冥冥我是感觉他们是有区别的, 你要问我为什么, 来: ? 有没有发现, 编译器显示的时候, empty函数和is_array函数的颜色不一样....而empty和echo是相同的颜色, 那不就是说他们俩是一类货色么. 再看一下: ? 有没有发现什么? PHP的关键字用的就是这个颜色. 我仿佛明白了些什么....简单来说, 就是 PHP 所定义的那些关键字. 虽然用法看起来像函数, 但是调用的时候直接映射到预先定义好的一系列操作, 而不会像函数一样进行传参等等解析操作....对了, 再悄悄告诉你, PHP , 系统函数是可以被重新定义的, 只要你写一个同名函数就行, 但是关键字这几个老兄不吃这一套哦.

    63920

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    热门标签

    领券