当前位置: 首页 > news >正文

PHP isset()函数使用详解,PHP判断变量是否存在

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》

isset

  • 一、判断变量是否存在
  • 二、判断变量是否为NULL
  • 三、同时判断多个变量
  • 四、unset()释放变量
  • 五、判断数组元素是否存在
  • 六、判断对象属性是否存在
  • 七、三元表达式

isset() 函数可以检测「变量是否存在」并非NULL。常用来判断变量是否被定义,以避免变量未定义而报错。

语法

bool isset( $var )

参数

  • $var :需要检测的变量

返回值:

isset() 返回一个布尔类型的值。

  • true :变量「已定义」
  • false:变量「未定义」或变量为 NULL 或 变量被 unset()

一、判断变量是否存在

变量「存在」返回 true ,变量「不存在」返回 false

实例:

<?php
$var1 = 'hello world';var_dump(isset($var1));
var_dump(isset($var2));

输出:

bool(true)
bool(false)

二、判断变量是否为NULL

1)当变量赋值为 NULL 时, isset() 也会返回 false

实例:

$var1 = NULL;var_dump(isset($var1));

输出:

bool(false)

2)这里的 NULL 是指PHP的「常量」 NULL ,也就是空的意思,所以会返回 false;字符串类型的变量‘NULL’等,则会返回 true

实例:

$var1 = 'null';
$var2 = 'NULL';
$var3 = '/0';
$var4 = NULL;var_dump(isset($var1));
var_dump(isset($var2));
var_dump(isset($var3));
var_dump(isset($var4));

输出:

bool(true)
bool(true)
bool(true)
bool(false)

三、同时判断多个变量

判断「多个变量」时,使用逗号分隔。

从左往右逐个判断,只要有一个变量不存在或者为NULL或者被 unset() ,就会立刻停止,并会返回 false

实例:

$var1 = 'hello world';var_dump(isset($var1));
var_dump(isset($var1,$var2));

输出:

bool(true)
bool(false)

四、unset()释放变量

unset() 函数「释放变量」后, isset() 也会返回 false

实例:

$var1 = 'hello world';
var_dump(isset($var1));unset($var1);
var_dump(isset($var1));

输出:

bool(true)
bool(false)

五、判断数组元素是否存在


实例:

$array1 = array('a','b');var_dump(isset($array1[0]));

输出:

bool(true)

六、判断对象属性是否存在

isset() 可以判断对象的「公有成员」,但无法判断「私有成员」;因为私有成员外部不可见,也没办法调用。

实例:

class Class1{public $var1 = 'hello public';private $var2 = 'hello private';
}$class1 = new Class1();var_dump(isset($class1->var1));
var_dump(isset($class1->var2));

输出:

bool(true)
bool(false)

七、三元表达式

扩展一个 isset() 配合三元表达式的使用方式

$result = isset($_GET['value']) ? $_GET['value'] : '';

这行代码的意思是:如果接收到参数 value 的值了,就赋值给 $result,否则就给 $result 赋值为空 ‘’。

相关文章:

PHP isset()函数使用详解,PHP判断变量是否存在

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 isset 一、判断变量是否存在二、判断变量是否为NUL…...

2021~2022 学年第二学期《信息安全》考试试题(A 卷)

北京信息科技大学 2021~2022 学年第二学期《信息安全》考试试题&#xff08;A 卷&#xff09; 课程所在学院&#xff1a;计算机学院 适用专业班级&#xff1a;计科1901-06&#xff0c;重修 考试形式&#xff1a;(闭卷) 一、选择题&#xff08;本题满分10分,共含10道小题,每小题…...

通俗讲解元学习(Meta-Learning)

元学习通俗的来说&#xff0c;就是去学习如何学习&#xff08;Learning to learn&#xff09;,掌握学习的方法&#xff0c;有时候掌握学习的方法比刻苦学习更重要&#xff01; 下面我们进行详细讲解 1. 从传统机器学习到元学习 传统的机器学中&#xff0c;我们选择一个算法&…...

生成全球定位系统、伽利略和北斗二号的Matlab代码及实际数据捕获文件,为测试功能提供完整信号与频谱

使用Matlab生成和分析GNSS信号&#xff08;第一部分&#xff09; 全球导航卫星系统(Global Navigation Satellite System, GNSS)是一个提供全球覆盖的&#xff0c;定位、导航、时间传递服务的系统。由全球定位系统(GPS)&#xff0c;俄罗斯的格洛纳斯(GLONASS)&#xff0c;欧洲…...

Android 14 版本变更总览

Android 14 版本 Android 14 总览Android 14 功能和变更列表行为变更&#xff1a;所有应用行为变更&#xff1a;以 Android 14 或更高版本为目标平台的应用功能和 API 概览 Android 14 总览 https://developer.android.google.cn/about/versions/14?hlzh-cn 文章基于官方资料…...

内网安全:Cobalt Strike 工具 渗透多层内网主机.(正向 || 反向)

内网安全&#xff1a;Cobalt Strike 工具 渗透多层内网主机. Cobalt Strike 是一款以 metasploit 为基础的 GUI 的框架式渗透工具&#xff0c;又被业界人称为 CS。拥有多种协议主机上线方式&#xff0c;集成了端口转发&#xff0c;服务扫描&#xff0c;自动化溢出&#xff0c;…...

ChatGPT 五个写论文的神技巧,让你的老师对你刮目相看!

导读&#xff1a;ChatGPT这款AI工具在推出两个月内就累积了超过1亿用户。我们向您展示如何使用ChatGPT进行写作辅助&#xff0c;以及其他一些有用的写作技巧。 本文字数&#xff1a;2000&#xff0c;阅读时长大约&#xff1a;12分钟 ChatGPT这款AI工具在推出两个月内就累积了超…...

模型服务文档自动生成,要素追溯关联、结构规范易读|ModelWhale 版本更新

整装待发的初夏&#xff0c;ModelWhale 持续聚焦 AI for Science&#xff0c;针对大模型等前沿带来了新一轮的版本更新&#xff0c;期待为你提供更好的使用体验。 本次更新中&#xff0c;ModelWhale 主要进行了以下功能迭代&#xff1a; • 新增 模型服务文档自动生成&#xf…...

《微服务实战》 第三十一章 ShardingSphere - ShardingSphere-JDBC

前言 Apache ShardingSphere 是一款分布式的数据库生态系统&#xff0c; 可以将任意数据库转换为分布式数据库&#xff0c;并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。 Apache ShardingSphere 设计哲学为 Database Plus&#xff0c;旨在构建异构数据库上层的…...

【论文阅读】Twin neural network regression is a semi- supervised regression algorithm

论文下载 GitHub bib: ARTICLE{,title {Twin neural network regression is a semi- supervised regression algorithm},author {Sebastian J Wetzel and Roger G Melko and Isaac Tamblyn},journal {Machine Learning: Science and Technology},year {2022},volum…...

java之反射机制和注解(更新中......)

Reflect在文档中的位置&#xff1a; 文档链接&#xff1a;https://docs.oracle.com/javase/8/docs/api/index.html 用于获取类或对象的反射信息。 常用的反射机制重要的类&#xff1a; java.lang.Class&#xff1a;整个字节码&#xff0c;代表一个类型。包含了以下三块内容&a…...

【Unity入门】25.入门结课Demo--神鸟大战怪兽

【Unity入门】入门结课Demo--神鸟大战怪兽 大家好&#xff0c;我是Lampard~~ 欢迎来到Unity入门系列博客&#xff0c;所学知识来自B站阿发老师~感谢 (一) 前言 经过了两个月的学习&#xff0c;我们也顺利的完成了入门课程&#xff0c;最后就用一个Demo作为我们的结课句号吧&am…...

HTTP协议基本格式

HTTP即HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09;&#xff0c;HTTP基于TCP/IP协议传输数据。 目录 Chrome抓包Fiddler代理抓包HTTP协议格式HTTP请求首行URL方法Get方法Post方法Get与Post的区别 请求报头中的属性Cookie和SessionCookie与Session的区别…...

在 ubuntu 22.04 上配置界面服务器 xrdp

文章目录 图形界面解决方案VNCXRDP XRDP 实例安装和配置使用 XRDP 使用原理谁更快 : X11转发 > XRDP > VNC 图形界面解决方案 1. VNC 2. XRDP 3. X11 ssh : // https://blog.csdn.net/u011011827/article/details/131065690VNC 外部开放端口 用的 是 5901-5910 桌面用…...

53、基于51单片机蓄电池充电器过充过放保护LCD液晶屏显示系统设计(程序+原理图+PCB源文件+参考论文+参考PPT+元器件清单等)

方案选择 单片机的选择 方案一&#xff1a;AT89C52是美国ATMEL公司生产的低电压&#xff0c;高性能CMOS型8位单片机&#xff0c;器件采用ATMEL公司的高密度、非易失性存储技术生产&#xff0c;兼容标准MCS-51指令系统&#xff0c;片内置通用8位中央处理器(CPU)和Flash存储单元&…...

【C/C++】详解 函数重载和应用

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…...

WPF开发txt阅读器4:字体控件绑定

文章目录 控件折叠字体尺寸绑定选择字体字体的中文名称 txt阅读器系列&#xff1a; 需求分析和文件读写目录提取类&#x1f48e;列表控件与目录 控件折叠 作为一个txt阅读器&#xff0c;至少能够设置文字字体、尺寸&#xff0c;段落行间距等&#xff0c;还得有护眼模式等一系…...

CoreDX DDS应用开发指南(8)开发订阅应用程序

11 应用数据类型Application Data Types 11.1 概述 每个DDS主题都包含一个且仅包含一个数据类型,这是在主题上进行通信时使用的用户定义的数据类型。在大多数情况下,应用程序开发人员以数据定义语言(DDL)格式定义这些DDS数据类型。编译器用于将这些DDL类型定义转换为适当的…...

基于Python的接口自动化-读写配置文件

目录 引言 configparser模块功能介绍 引言 在编写接口自动化测试脚本时&#xff0c;有时我们需要在代码中定义变量并给变量固定的赋值。为了统一管理和操作这些固定的变量&#xff0c;咱们一般会将这些固定的变量以一定规则配置到指定的配置文件中&#xff0c;后续需要用到这…...

useEffect的基础知识和底层机制

useEffect 是 React 中一个重要的 Hook&#xff0c;用来处理组件的副作用操作。它的基础知识包括两个方面&#xff1a;执行时机和参数。 执行时机&#xff1a; useEff ect 的执行时机包括两种情况&#xff1a; 组件挂载时&#xff0c;即第一次渲染之后。组件更新时&#xff…...

机器人接触式操作:混合式轨迹优化与策略学习

1. 机器人接触式操作的核心挑战与解决方案在机器人操作领域&#xff0c;接触式任务&#xff08;如物体翻转、装配、精密放置&#xff09;一直是最具挑战性的问题之一。这类任务要求机器人频繁建立和断开与物体的接触&#xff0c;同时需要精确控制接触力和运动轨迹。哪怕几毫米的…...

从DesignCon 2011看EDA技术演进:高速链路、低功耗与3D-IC设计启示

1. 从一场行业盛会看电子设计的未来风向每年年初&#xff0c;硅谷的心脏地带——加州圣克拉拉&#xff0c;都会迎来一场电子设计自动化&#xff08;EDA&#xff09;与半导体设计领域的年度盛事&#xff1a;DesignCon。对于像我这样在硬件设计领域摸爬滚打了十几年的工程师来说&…...

AI编程工具的内卷:Copilot、Cursor、通义灵码,谁能笑到最后?

当“内卷”的风吹到AI编程工具2026年&#xff0c;AI编程工具已不再是新鲜事物&#xff0c;而是开发者工具箱中的标配。从最初的代码补全&#xff0c;到如今的全栈智能体&#xff0c;这个赛道正经历着一场前所未有的“内卷”。GitHub Copilot、Cursor、通义灵码三足鼎立&#xf…...

QMCDecode终极指南:3分钟解锁QQ音乐加密文件,让音乐自由播放

QMCDecode终极指南&#xff1a;3分钟解锁QQ音乐加密文件&#xff0c;让音乐自由播放 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac&#xff0c;qmc0,qmc3转mp3, mflac,mflac0等转flac)&#xff0c;仅支持macOS&#xff0c;可自动识别到QQ音乐下载目录…...

131.详解YOLO损失函数+网格划分原理,附v1-v8演进脉络+YOLOv8实战代码

摘要 目标检测是计算机视觉的核心任务之一。YOLO(You Only Look Once)系列以其极致的检测速度与良好的精度平衡,成为工业界和学术界最广泛应用的检测框架。本文以理工科严谨逻辑,从YOLO的核心思想出发,覆盖从v1到v8的关键演进,并通过一个完整的可运行案例,带领读者从零…...

基于LangChain与LLM的B2B智能销售助手:从架构设计到工程实践

1. 项目概述&#xff1a;一个为B2B销售开发的智能SDR助手模板最近在GitHub上看到一个挺有意思的项目&#xff0c;叫iPythoning/b2b-sdr-agent-template。光看名字&#xff0c;可能有点技术范儿&#xff0c;但它的内核其实非常务实&#xff1a;这是一个为B2B&#xff08;企业对企…...

OpenClaw:重新定义 AI 智能体,从对话到执行的全能 “龙虾

在 AI 技术飞速迭代的今天&#xff0c;大语言模型已能流畅对话、生成内容&#xff0c;但多数仍停留在 “只说不做” 的层面。OpenClaw&#xff08;外号 “龙虾”&#xff09;的出现&#xff0c;打破了这一僵局 —— 它是一款由奥地利工程师 Peter Steinberger 主导开发&#xf…...

汽车软件化演进:从原生应用到手机集成的技术路径与实战解析

1. 从机械到智能&#xff1a;汽车软件化的十字路口十年前&#xff0c;当福特和通用汽车开始在硅谷和南加州大肆招聘软件工程师时&#xff0c;很多人可能还没意识到&#xff0c;这不仅仅是一次普通的“招兵买马”&#xff0c;而是一场深刻改变汽车工业基因的序曲。2014年那会儿&…...

恶意 Hugging Face 仓库 18 小时登顶热门榜,引发公共 AI 仓库安全担忧

【事件概述】一个伪装成 OpenAI 发布内容的恶意 Hugging Face 仓库&#xff0c;向 Windows 系统投放信息窃取恶意软件。该仓库在 18 小时内登上 Hugging Face 热门排行榜首位&#xff0c;被移除前下载量达 24.4 万次&#xff0c;引发人们对企业从公共仓库获取和验证 AI 模型的新…...

电子显微镜波传递函数与Ptychographic重建技术解析

1. 电子显微成像中的波传递函数解析 波传递函数&#xff08;Wave Transfer Function, WTF&#xff09;是理解电子显微镜成像机制的核心数学工具。这个复数值函数描述了电子波与样品相互作用后&#xff0c;在空间频率域中的相位和振幅变化情况。在透射电子显微镜&#xff08;TEM…...