浅谈PHP中isset()、empty()、is_null()的区别

在PHP中,isset()、empty()和is_null()都可用于测试变量的值,那么它们之间有什么差异呢?下面本篇文章就来对比一下这三个函数,了解一下它们的区别。

浅谈PHP中isset()、empty()、is_null()的区别

让我们从一些定义开始。

  • isset() : 你可以用isset() 来确定一个变量是否被声明,并且与null 不同。

  • empty() : 它用于确定变量是否存在,并且变量的值没有评估为false

  • is_null() : 这个函数用来检查一个变量是否是null

PHP isset() vs empty()

正如我们从定义中看到的,如果我们之前定义了该变量并将其值设置为NULL 以外的值,那么isset() 将返回true 。这可以包括0 ,一个空字符串或false 。另一方面,只要变量的值被设置为falseempty() 就会返回true ,我们称这些值为 "假值"。错误值的例子包括:0 ,空字符串"" 和字符串"0" ,空数组NULL ,当然还有布尔值false

isset()empty() 之间的一个相似之处是,它们都是语言结构,因此不能使用变量函数来调用。

下面的代码片断应该可以解释这两者之间的区别。

<?php

$fruit = '';

if(isset($fruit)) {
    echo 'Do you like '.$fruit.'?';
}
// Output:  Do you like ?

if(!empty($fruit)) {
    echo 'Do you like '.$fruit.'?';
}
// No Output

?>

登录后复制

请注意,empty() 可以使用isset() 函数来编写。

<?php

function my_empty($x) {
  return !isset($x) || $x == false
}

登录后复制

当然,通常只是使用内置的empty() 函数更容易。

PHP isset() vs is_null()

如果一个变量的值被明确地设置为NULL ,则is_null() 函数返回true 。否则,它只是返回false 。另一方面,只要定义了一个变量,并且其值不是NULLisset() 将返回true

下面是一个基本的例子来说明它们之间的区别。

<?php

$fruit = NULL;

if(isset($fruit)) {
    echo 'Do you like '.$fruit.'?';
}
// No Output

if(is_null($fruit)) {
    echo 'There is no fruit.';
}
// Output: There is no fruit.

?>

登录后复制登录后复制

PHP empty() vs is_null()

如果一个变量的值被评估为falseempty() 函数将返回true 。这可能意味着空字符串,NULL ,整数0 ,或一个没有元素的数组。另一方面,只有当变量的值为NULLis_null() 才会返回true

下面是一个基本的例子来说明它们之间的区别。

<?php

$fruit = NULL;

if(isset($fruit)) {
    echo 'Do you like '.$fruit.'?';
}
// No Output

if(is_null($fruit)) {
    echo 'There is no fruit.';
}
// Output: There is no fruit.

?>

登录后复制登录后复制

需要记住的重要事项

有两个提示,你可以用来编写更简洁的代码,并在将来避免错误。

1.与empty()is_null() 不同,你可以一次传递多个值给isset() ,以同时检查其中是否有未定义或设置为NULL 。在这种情况下,isset() ,只有在传递的值都不是NULL ,才会返回true

2.2. 不要使用== 来检查一个值是否是NULL 。这将会给像空字符串这样的评估为false 的值带来错误的肯定。

关于浅谈PHP中isset()、empty()、is_null()的区别的文章就分享到这,如果对你有帮助欢迎继续关注我们哦

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/244228.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
php学习php学习订阅用户
上一篇 2023年3月29日 23:09
下一篇 2023年3月29日 23:10

相关推荐

  • PHP中如何进行打印机和扫描仪应用开发?

    随着信息技术的不断发展,打印机和扫描仪已经成为了现代商务与生活中不可缺少的设备之一。而为了更好地满足用户的需求,开发一款能够优化打印和扫描操作的应用程序,也成为了每个开发者都想要实现的目标。本文将介…

    2023年5月17日
    04
  • 详解PHP论坛实现系统的思路

    首先在用户表定义一个积分字段;然后创建一个等级表,主要字段有等级名,上限积分和下限积分;再根据用户的行为进行积分累加;最后根据判断用户积分在哪个等级范围,从而得出用户等级。用户表CREATE TABLE `bbs`.`u…

    2022年6月16日
    0146
  • 如何使用PHP进行音频文件处理?

    随着音频文件的广泛使用,越来越多的应用程序需要进行音频文件处理。PHP是一种流行的服务器端脚本语言,可以用于处理音频文件。本文将介绍如何使用PHP进行音频文件处理。一、了解音频文件格式在使用PHP处理音频文件…

    2023年5月17日
    07
  • PHP8中的数组函数:array_unshift()的多种应用场景。

    PHP 是一门流行的服务器端编程语言,被广泛地应用于 web 开发和数据处理。与其它编程语言一样,PHP 也提供了许多内置函数来简化开发者的工作。其中一个常用的函数是 array_unshift()。array_unshift() 函数的作用是…

    2023年5月21日
    05
  • PHP微信开发:如何实现群发消息发送记录

    随着微信成为了人们生活中越来越重要的一个通讯工具,其敏捷的消息传递功能迅速受到广大企业和个人的青睐。对于企业而言,将微信发展为一个营销平台已经成为趋势,而微信开发的重要性也逐渐凸显。在其中,群发功能…

    2023年5月18日
    02
  • (理论篇)localhost与127.0.0.1的区别

    很多人会接触到这个ip地址127.0.0.1。也许你会问127.0.0.1是什么地址?其实127.0.0.1是一个回送地址,指本地机,一般用来测试使用。大家常用来ping 127.0.0.1来看本地ip/tcp正不正常,如能ping通即可正常使用。 对…

    2016年10月24日
    0292
  • 如何使用PHP实现微信小程序中的图片滚动操作。

    随着微信小程序的广泛使用,越来越多的开发者开始使用PHP来实现其中的各种功能。其中,图片滚动是微信小程序中常见的一种操作,下面就介绍如何使用PHP来实现微信小程序中的图片滚动操作。准备工作在开始之前,我们…

    2023年6月3日
    06
  • nginx 504 Gateway Time-out如何处理

    今天程序在执行一项excel导出任务的时候 出现了nginx超时的提示 nginx 504 Gateway Time-out 排查过程: 查看该任务 发现内容是一个数据量20000条信息 每条信息有50个字段 在执行导出为excel的时候 出现了该问题 执…

    2018年4月13日
    0297

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息