浅谈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月30日
    00
  • PHP文件下载

    文件下载 如果下载的文件较多、文件大,通常就会使用百度云,如果下载的文件小、文件少的话,通常会使用php进行下载 通过php下载文件的原理: 先通过php读取下载的文件资源,读取到这些资源之后,再将其保存到文件…

    2018年9月18日
    0337
  • PHP入门指南:PHP和Haskell。

    PHP和Haskell是两种非常不同的编程语言,它们的设计思路和用途都不同。在本文中,我们将会介绍PHP和Haskell,以及它们各自的优缺点。同时,我们还将分别介绍如何入门这两种编程语言,并给出一些学习的建议。PHP是一…

    2023年5月22日
    00
  • PHP入门指南:PHP和Shell。

    PHP入门指南:PHP和Shell随着互联网的发展,PHP语言逐渐成为开源社区中最受欢迎的服务器端脚本语言之一。它结合了C、Java和Perl等编程语言的特点,具有简洁、高效、易于学习等特点,被广泛应用于网站开发、应用程序…

    2023年5月23日
    01
  • php4中的文件操作

    resource fopen ( string filename, string mode ) 打开某个文件,返回指向这个文件的资源 string filename:要被打开的文件 string mode:打开模式   Mode      说明 "r"    只读方式打开,将文件指针指向文…

    2017年11月14日
    0198
  • PHP入门指南:代码注入漏洞。

    近年来,网络安全问题越来越频繁地被人们所关注。其中,代码注入漏洞是常见的安全问题之一。PHP作为一种常用的后端编程语言,被广泛应用于网站开发中。然而,PHP由于其灵活性和易用性,在编写代码的过程中会存在安…

    2023年5月22日
    00
  • Redis在PHP中的应用:大规模数据的分页。

    随着互联网的普及和发展,大规模数据的处理已经成为了各个领域中不可避免的需求。在Web应用中,分页展示数据是常用的方式之一,但是在处理大规模数据时,分页效率会受到很大的影响。这时,Redis这个高性能的内存数…

    2023年5月21日
    00
  • 关于PHP打印格式化显示利器

    当我们调试php代码的时候,会使用var_dump、print_r 输出结果,输出的时候需要格式化。格式化后的结果echo "<pre>";$arr=[3,1,5,8]; print_r($arr);不格式化后的结果$arr=[3,1,5,8]; print_r($arr)…

    2022年6月27日
    0167

联系我们

QQ:951076433

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