php之is_null、empty 、isset 的区别

news2024/10/17 21:09:12

目录

1.isset():

2.empty():

3.is_null:

4.总结:


在PHP中,is_nullemptyisset 是三个用于检查变量状态的常用函数,它们各自有不同的用途和行为:

1.isset()

  • isset() 函数用来检查一个变量是否已设置并且非 null
  • 如果变量存在并且已经被初始化(即不是 null),isset() 返回 true
  • 如果变量未定义或其值为 nullisset() 返回 false

代码示例:

$var = null;
if (isset($var)) {
    echo "变量已设置";
} else {
    echo "变量未设置";
}
// 输出:变量未设置

2.empty()

  • empty() 函数用来检查一个变量是否为空。
  • 如果变量的值被认为是“空”的(例如 "" 空字符串、00.0"0"nullfalse、未定义的变量),empty() 返回 true
  • 如果变量非空,empty() 返回 false

代码示例:

$var = null;
if (empty($var)) {
    echo "变量为空";
} else {
    echo "变量非空";
}
// 输出:变量为空

3.is_null

  • is_null() 函数用来检查一个变量是否严格等于 null
  • 只有当变量的值严格为 null 时,is_null() 才返回 true

代码示例:

$var = null;
if ($var === null) {
    echo "变量的值为null";
} else {
    echo "变量的值不是null";
}
// 输出:变量的值为null

4.总结:

  • isset() 检查变量是否已设置且不是 null
  • empty() 检查变量是否为空,包括 nullfalse0、空字符串等。
  • is_null() 严格检查变量是否等于 null

在实际编程中,根据需要检查的条件不同,你可能会使用这三个函数中的一个或多个。例如,如果你想确保一个变量不仅已设置,而且有非空的值,你可以结合使用 isset()empty()

if (isset($var) && !empty($var)) {
    // 变量已设置且非空
}

如果你想检查一个变量是否为 null 或者为空字符串,你可以结合使用 is_null()empty()

if (is_null($var) || $var === "") {
    // 变量的值为null或空字符串
}

以下用一张表搞清楚is_null、empty、isset的区别

变量is_nullemptyisset
$a=""falsetruetrue
$a=" "falsefalsetrue
$a=nulltruetruefalse
$atruetruefalse
$a=array()falsetruetrue
$a=falsefalsetruetrue
$a=8falsefalsetrue
$a=1falsefalsetrue
$a=0falsetruetrue
$a="0"falsetruetrue
$a="true"falsefalsetrue
$a="false"falsefalsetrue

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2217311.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

苹果 AI 及国产大模型之争:悬念不再?

AI基本盘,牢牢把握在苹果手里 苹果终于公布了最新的AI进程。 一个月前,正如此前预期的那样,人工智能是今年 WWDC 发布会的焦点。全程105分钟的主题演讲,就有40多分钟用于介绍苹果的AI成果。 苹果似乎还有意玩了一把“谐音梗”&…

人脸识别-特征算法

文章目录 一、LBPH算法1.基本原理2.实现步骤3.代码实现 二、Eigenfaces算法1.特点2.代码实习 三、FisherFaces算法1.算法原理2.算法特点3.代码实现 四、总结 人脸识别特征识别器是数字信息发展中的一种生物特征识别技术,其核心在于通过特定的算法和技术手段&#xf…

跟李沐学AI—pytorch版本锚框代码解析

网上大佬的解释 https://fkjkkll.github.io/2021/11/23/%E7%9B%AE%E6%A0%87%E6%A3%80%E6%B5%8BSSD/?highlight%E9%94%9A%E6%A1%86 w torch.cat((size_tensor * torch.sqrt(ratio_tensor[0]),sizes[0] * torch.sqrt(ratio_tensor[1:])))\* in_height / in_widthh torch.cat((…

当贝投影双十一战报揭晓:天猫投影品类销量稳居首位

相比往年,2024年双11提前了10天,于10月14日正式拉开帷幕。其中,作为国内智能投影头部品牌之一的当贝投影,首战告捷,迎来开门红,战绩相当喜人! 根据当贝投影官方数据显示,10月至今当贝…

基于SpringBoot的在线视频教育平台的设计与实现(论文+源码)_kaic

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于在线视频教育平台当然也不能排除在外,随着网络技术的不断成熟,带动了在线视频教育平台,它彻底改变了过…

vue 2.0 使用 html2canvas + jspdf +ant-design-vue 1.x + echarts + 高德地图 导出数据报告

思路&#xff1a; 1. 因为html转为图片再加入到PDF中 会导致截断&#xff0c;因此前端自定义分页添加 类 &#xff08;page&#xff09; 2. 通过page生成图片 在加入PDF中<template><div id"pdf-content"><div class"page first-page">&…

Jmeter接口测试企业级项目实战day2

1.JMeter接口关联 含义&#xff1a;把上一个接口的响应内容&#xff0c;作为下一个接口的请求参数 思路&#xff1a;通过变量来传递数据 步骤&#xff1a; 1.创建&#xff1a;上一个接口&#xff0c;添加【后置处理器】&#xff1a;提取数据创建变量 2.使用&am…

项目分析:自然语言处理(语言情感分析)

在这个信息爆炸的时代&#xff0c;我们每天都在与海量的文本数据打交道。从社交媒体上的帖子、在线评论到新闻报道&#xff0c;文本信息无处不在。然而&#xff0c;这些文本不仅仅是文字的堆砌&#xff0c;它们背后蕴含着丰富的情感和观点。如何有效地理解和分析这些情感&#…

leetcode48:旋转矩阵

题目&#xff1a; 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5…

昆仑虚 - NextJS 项目如何进行部署?

引言 NextJS 是一个构建于 NodeJS 之上的一个 Web 开发框架。它基于 React 特性进行了一些列的扩展!! 在社区中也很是火热, 前段时间 「昆仑虚」 也终于完成了项目的迁移(React > NexJS)!! 那么接下来就是项目部署, NextJS 相比常规的前端部署还是有所区别的: 常规的前端…

便捷实用的桌面时钟 让你随时掌握时间 美观且大气

便捷实用的桌面时钟 让你随时掌握时间 美观且大气。桌面时钟顾名思义就是可以放在桌面上的时钟&#xff0c;这是一款界面优美,功能实用,易于操作的桌面时钟工具芝麻时钟&#xff08;下载地址&#xff1a;https://clock.zhimasoft.cn/?bi&#xff09; 找个好看的桌面时钟&…

【R语言】随机森林+相关性热图组合图

数据概况文末有获取方式 随机森林部分 #调用R包 library(randomForest) library(rfPermute) library(ggplot2) library(psych) library(reshape2) library(patchwork) library(reshape2) library(RColorBrewer) ​ ​ #读取数据 df<-read.csv("F:\\EXCEL-元数据\\2020…

Spring Boot与JavaWeb协同:在线考试系统的实现“

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理基于JavaWeb技术的在线考试系统设计与实现…

【02】Windows特殊权限-Trustedinstaller

知识点&#xff1a; “TrustedInstaller” 是 Windows 操作系统中的一个特殊账户&#xff0c;用于管理和保护重要的系统文件。它是 Windows 模块安装程序 (Windows Modules Installer) 的一部分&#xff0c;负责安装、修改和删除 Windows 更新和可选组件。默认情况下&#xff…

Power BI:链接数据库与动态数据展示案例

一、案例背景 在数据驱动的时代&#xff0c;如何高效、直观地展示和分析数据成为了企业决策和个人洞察的关键。Power BI作为一款强大的商业智能工具&#xff0c;凭借其强大的数据连接能力、丰富的可视化选项以及交互性和动态性&#xff0c;成为了众多企业和个人的首选。本文将…

C++/初识C++

目录 一、前言 二、正文 1C语言第一个程序&#xff1a; 1.1C的第一个程序&#xff1a; 2.命名空间 2.1 namespace的价值 2.2namespace的定义 2.3namespace的正常使用 3.C输出和输入 三、结言 一、前言 点来不及悼念C语言&#xff0c;接下来出场的是新的语言C。不同于C…

WebGL编程指南 - WebGL入门

初识绘图流程、缓冲区、着色器、attribute和uniform变量 先画一个蓝色的正方形 html代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content&…

iOS 18升级:避免常见陷阱,顺利完成升级

随着iOS 18的发布&#xff0c;许多用户都希望尽快体验到新系统带来的新功能和改进。然而&#xff0c;升级过程可能会因为准备工作不足或对步骤的不熟悉而变得复杂。本文旨在为用户提供一个清晰的升级指南&#xff0c;确保升级过程既平滑又安全。 升级前的准备工作 在开始升级之…

PCL 点云配准-ICP算法(精配准)

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 点云加载函数 2.1.2 ICP 配准函数 2.1.3 可视化函数 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接&#xff1a; PCL点云算法与项目实战案例汇总&#xf…

股票Tick数据如何获取做量化交易

【高频tick数据源】银河金融数据库 【tick高频回测策略】在利用股票Tick数据做量化交易时&#xff0c;一个关键的细节点是“实现高频交易中的市场冲击成本最小化”。细节点&#xff1a;市场冲击成本最小化策略 1. 策略原理市场冲击成本是指大额交易对市场价格造成的影响&#…