PHP8内置函数中的变量函数-PHP8知识详解
在php8中,与变量相关的内置函数比较多,本文说一些比较重要的、常见的内置函数。今日着重讲解了5个,分别是:检测变量是否为空的函数empty()、判断变量是否定义过的函数isset()、销毁指定的变量的函数unset()、获取变量的类型的函数gettype()、检查变量是否为数字或数字字符串的函数is_numeric()。
1、检测变量是否为空的函数empty()
检测变量是否为空的函数empty()的语法如下:
empty(variable)
其中,variable 是要检测的变量。empty() 函数会返回一个布尔值,如果变量为空,则返回 true,否则返回 false。
需要注意的是,empty() 函数会在以下情况返回 true(表示变量为空):
变量为非零数字或非空字符串等不同类型的非空值。
变量不存在、被赋值为 null 或被销毁。
而在其他情况下,empty() 函数会返回 false(表示变量不为空)。
下面看一下检测变量是否为空的函数empty()的示范代码:
<?php
$var1 = ""; // 空字符串
$var2 = 0; // 零值
$var3 = false; // 布尔值 false
$var4 = null; // null 值
$var5 = "php"; // php值 if (empty($var1)) { echo "变量 var1 是空的";
} else { echo "变量 var1 不是空的";
} echo"<br>";if (empty($var2)) { echo "变量 var2 是空的";
} else { echo "变量 var2 不是空的";
} echo"<br>";if (empty($var3)) { echo "变量 var3 是空的";
} else { echo "变量 var3 不是空的";
} echo"<br>";if (empty($var4)) { echo "变量 var4 是空的";
} else { echo "变量 var4 不是空的";
} echo"<br>";if (empty($var5)) { echo "变量 var5 是空的";
} else { echo "变量 var5 不是空的";
}
?>
以上内容在PHP8中运行结果如下:
变量 var1 是空的
变量 var2 是空的
变量 var3 是空的
变量 var4 是空的
变量 var5 不是空的
2、判断变量是否定义过的函数isset()
在 PHP 中,isset() 是一个用于检查变量是否已经定义且不为 null 的函数。它的语法结构如下:
bool isset(mixed $var [, mixed $...])
isset() 可以接受多个参数,并且对每个参数分别进行判断。它返回一个布尔值,如果所有参数都已定义且不为 null,则返回 true,否则返回 false。
以下是一些示例代码,展示了 isset() 函数的常见用法:
<?php
$var1 = 10;
$var2 = null;isset($var1); // 返回 true,因为 $var1 已经定义且不为 null
isset($var2); // 返回 false,因为 $var2 为 null
isset($var3); // 返回 false,因为 $var3 没有定义
isset($var1, $var2); // 返回 false,因为 $var2 为 nullif (isset($var1)) {echo '$var1 已定义且不为 null';
} else {echo '$var1 未定义或为 null';
}
?>
以上代码在PHP8中运行的结果为:
$var1 已定义且不为 null
请注意,isset() 只能用于变量,不能用于常量。如果要检查常量是否已经定义,请使用 defined() 函数。
3、销毁指定的变量的函数unset()
销毁指定的变量unset(),语法结构如下:
unset($variable);
其中 $variable 是要销毁的变量名。
使用 unset() 函数可以将指定的变量从内存中移除,释放其占用的资源。被销毁的变量将不再可用,并且尝试访问它们将引发一个 Notice 错误。
以下是一个示例,演示了如何使用 unset() 函数来销毁变量:
<?php
$name = "John Doe";
unset($name);// 尝试访问已销毁的变量会导致 Notice 错误
echo $name; // Notice: Undefined variable: name
?>
在PHP8中运行结果:
Warning: Undefined variable $name in D:\phpenv\www\localhost\test.php on line 6
4、获取变量的类型的函数gettype()
PHP8中获取变量的类型的函数gettype()的语法结构如下:
string gettype($var)
其中,$var 是要获取类型的变量。返回值为字符串类型,表示变量的类型。常见的类型包括:"boolean"、"integer"、"float"、"string"、"array"、"object"、"null"。
PHP8中获取变量的类型的函数gettype()的示范代码:
<?php
$number = 42;
$str = "Hello, World!";
$arr = [1, 2, 3];
$obj = new stdClass();
$isTrue = true;echo gettype($number)."<br>";
echo gettype($str)."<br>";
echo gettype($arr)."<br>";
echo gettype($obj)."<br>";
echo gettype($isTrue);
?>
以上代码在PHP8中的运行结果为:
integer
string
array
object
boolean
5、检查变量是否为数字或数字字符串的函数is_numeric()
PHP8中检查变量是否为数字或数字字符串的函数is_numeric()的语法结构如下:
bool is_numeric( mixed $value )
其中 $value 是要检查的值,可以是一个变量、常量或表达式。
该函数返回一个布尔值,如果给定的值为数字或数字字符串,则返回 true,否则返回 false。
以下是一些示例代码,展示了 is_numeric() 函数的使用方式和输出结果:
<?php
$var1 = 123; // 整数
$var2 = 3.14; // 浮点数
$var3 = "123"; // 数字字符串
$var4 = "abc"; // 非数字字符串
$var5 = true; // 布尔值 true(将被转换为整数 1)
$var6 = false; // 布尔值 false(将被转换为整数 0)
$var7 = NAN; // 不是一个数字(NaN) echo var_dump(is_numeric($var1)) . "<br>";
echo var_dump(is_numeric($var2)) . "<br>";
echo var_dump(is_numeric($var3)) . "<br>";
echo var_dump(is_numeric($var4)) . "<br>";
echo var_dump(is_numeric($var5)) . "<br>";
echo var_dump(is_numeric($var6)) . "<br>";
echo var_dump(is_numeric($var7));
?>
以上代码在PHP8中的运行结果为:
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(true)
这只是其中一些与变量相关的内置函数,在PHP文档中还有其他许多函数可供使用。您可以根据具体需求来选择适合您的函数。
下面简单介绍几个不在详细展开说明了:
var_dump(): 用于打印变量的结构和值。
print_r(): 用于打印变量的结构和值,可读性更高。
is_array(): 用于检查一个变量是否为数组。
is_bool(): 用于检查一个变量是否为布尔值。
is_float(): 用于检查一个变量是否为浮点数。
is_int(): 用于检查一个变量是否为整数。
is_string(): 用于检查一个变量是否为字符串。
is_null(): 用于检查一个变量是否为 null。
篇幅有限,今天学习的变量函数中,着重讲解了5个,分别是:检测变量是否为空的函数empty()、判断变量是否定义过的函数isset()、销毁指定的变量的函数unset()、获取变量的类型的函数gettype()、检查变量是否为数字或数字字符串的函数is_numeric()。
相关文章:
![](https://img-blog.csdnimg.cn/img_convert/3eb8de9906a8de39ef3d2a2674515470.jpeg)
PHP8内置函数中的变量函数-PHP8知识详解
在php8中,与变量相关的内置函数比较多,本文说一些比较重要的、常见的内置函数。今日着重讲解了5个,分别是:检测变量是否为空的函数empty()、判断变量是否定义过的函数isset()、销毁指定的变量的函数unset()、获取变量的类型的函数…...
![](https://www.ngui.cc/images/no-images.jpg)
9月3日,每日信息差
第一、中国中铁与广州市城中村改造做地主体签署战略合作框架协议。根据协议,双方将积极响应广州市统筹做地推进高质量发展工作精神,充分发挥双方优势资源,共同加大在物业复建安置、基础设施建设、综合开发投资、城中村改造(微改造…...
![](https://img-blog.csdnimg.cn/img_convert/a01f8fbefafcc38c91098fdf278d8f6c.png)
2023年了,java后端还有未来吗?
前言 Java当下确实是比较的内卷,但关键在于个人,可以看看不同地方(这里主要举例北上广深一线城市)对于Java开发工程师这个职位的具体要求: 在以下北上广深这些一线大城市的面试招聘当中不难看出,凡是工资…...
![](https://img-blog.csdnimg.cn/3ff9738108724b5ca9fc319a5deadcb6.png)
使用cmake,将github上的某一个库进行集成到vs2022上
可以参考如下链接的内容: (还未完成,将在后序补充) 1.首先使用cmake,得到对应库的lib,include,bin文件夹 可以参考 https://www.youtube.com/watch?vu5-Df1YlxCI 2.现在我用cmake对这个第三方库进行编译,生成了三个文件夹:一个放的是lib文件(lib文件…...
![](https://img-blog.csdnimg.cn/img_convert/0a61ceaf8a73e8b227baf511850664d6.png)
第二张微服务的调用与注册
文章目录 工程导入利用RestTemplate调用服务需求创建RestTemplate的实例到Spring容器使用RestTemplate发送请求消费者和提供者 Eureka注册中心服务远程调用会出现的问题Eureka的结构和作用Eureka的配置过程搭建注册中心服务注册服务发现 Ribbon负载均衡负载均衡原理源码跟踪总结…...
![](https://img-blog.csdnimg.cn/d0ede0ca8ea64325a8c3985237dbbdf8.png)
iWatch框架设计
iWatch框架设计 一、项目框架结构设计 1、项目文件介绍 OverSeaProject:是IOS相关文件文件内容iWatchApp和iWatch Extension:是之前使用xcode14之前的xcode创建的360 app的Watch App,产生的文件结构,包含一个app和Extension的ta…...
![](https://img-blog.csdnimg.cn/e30b554621d2456fb1dec881260f3124.png)
【python】读取.dat格式文件
import binascii# 打开二进制文件以只读二进制模式 with open(EXCEL/文件.dat, rb) as file:binary_data file.read()print(binary_data)# 将二进制数据转换为十六进制字符串 hex_data binascii.hexlify(binary_data).decode(utf-8) # binary_data 现在包含了文件的二进制内容…...
![](https://www.ngui.cc/images/no-images.jpg)
机器学习课后习题 --- 朴素贝叶斯
(一)单选题 1.假设会开车的本科生比例是15%,会开车的研究生比例是23%。若在某大学研究生占学生比例是20%,则会开车的学生是研究生的概率是多少? A:80%B:16.6% C:23% D:15% 2.下列关于朴素贝叶斯的特点说法错误的是…...
![](https://img-blog.csdnimg.cn/4dbc0ed65cf540cda86dac1901cd91e4.png)
【设备树笔记整理7】实践操作
1 使用设备树给DM9000网卡_触摸屏指定中断 1.1 修改方法 根据设备节点的compatible属性,在驱动程序中构造/注册 platform_driver,在 platform_driver 的 probe 函数中获得中断资源。 1.2 实验方法 以下是修改好的代码:第6课第1节_网卡_触摸…...
![](https://img-blog.csdnimg.cn/img_convert/42dfddb0e9471e8e94e0469225a3d625.png)
使用VisualStudio制作上位机(六)
文章目录 使用VisualStudio制作上位机(六)第五部分:应用程序打包第一步:勾选为Release模式第二步:生成解决方案第三步:将我们额外添加的文件放入到Release这个文件夹里 使用VisualStudio制作上位机…...
![](https://img-blog.csdnimg.cn/c509ce863fd14afb8e8fd0115abefebc.gif)
包管理工具--》npm的配置及使用(一)
目录 🌟概念 🌟背景 🌟前端包管理器 🌟包的安装 本地安装 全局安装 🌟包配置 配置文件 保存依赖关系 🌟包的使用 🌟写在最后 🌟概念 模块(module)…...
![](https://img-blog.csdnimg.cn/img_convert/167f49b5998efbbb1a118b6048f82a78.png)
期货基础知识
一、期货是什么? 期货是与现货相对应,并由现货衍生而来。期货通常指期货合约,期货与现货完全不同,现货是实实在在可以交易的货(商品),期货主要不是货,而是以某种大众产品如棉花、大…...
![](https://img-blog.csdnimg.cn/e8fd4bc1731843c1ac0977542eefc031.png)
NC后端扩展开发
前言 在日常的工作中,会遇到各种各样的需要进行扩展开发的需求,可以使用系统预留的扩展开发机制来实现,避免修改源码。因NC产品已迭代至BIP版本,所以前端扩展方式就再进行不赘述了,本文主要介绍后端扩展开发方式&…...
![](https://www.ngui.cc/images/no-images.jpg)
nginx vue2+webpack 和 vue3+vite 配置二级目录访问
我们开发中会遇到这样的需求,让我们用服务器nginx部署一个用域名的二级目录来访问项目 https:xxx/二级目录/来放访问项目 目录 思路 1、nginx配置(vue2 和 vue3配置的nginx相同) 2、vue2webpack的配置 (1࿰…...
![](https://img-blog.csdnimg.cn/img_convert/a87255810161428a9b2ee44127bcaee8.png#pic_center)
无需租云服务器,Linux本地搭建web服务,并内网穿透发布公网访问
文章目录 前言1. 本地搭建web站点2. 测试局域网访问3. 公开本地web网站3.1 安装cpolar内网穿透3.2 创建http隧道,指向本地80端口3.3 配置后台服务 4. 配置固定二级子域名5. 测试使用固定二级子域名访问本地web站点 前言 在web项目中,部署的web站点需要被外部访问,则…...
![](https://img-blog.csdnimg.cn/img_convert/9fa3e71b3c4871f1652a850f43cc736a.gif#pic_center)
算法leetcode|76. 最小覆盖子串(rust重拳出击)
文章目录 76. 最小覆盖子串:样例 1:样例 2:样例 3:提示:进阶: 分析:在这里插入图片描述 题解:rust:go:c:python:java: 76.…...
![](https://img-blog.csdnimg.cn/5807c0dac8c0400eafd3d854ae790abe.png)
如何让你的jupyter notebook 排版得像Word(Markdown和网页文件写法)
案例背景 很多时候我们在jupyter notebook里面的写代码,画图,但是文字分析什么的写在里面纯文本不好看,需要进行排版,那么就得用markdown的写法,如何还想居中或者更花里胡哨的字体,那就得要网页文件的一些…...
![](https://img-blog.csdnimg.cn/d5212eb5409541b19989134f01327ab4.png)
AndroidTV端:酒店扫码认证投屏DLNA
被老板叼了几次了,最近实在忍不了,准备离职; 但是担心离职后长时间没有办法找到工作 就想贡献一套平时琢磨出来的程序,请各位有能力的话带我熬过这凛冽的寒冬。 目前写出来的,有三个端:安卓TV端…...
![](https://img-blog.csdnimg.cn/f4cc7c5ae4c9436aaf560ad60abf43bd.png)
基于PyTorch的交通标志目标检测系统
一、开发环境 Windows 10PyCharm 2021.3.2Python 3.7PyTorch 1.7.0 二、制作交通标志数据集,如下图 三、配置好数据集的地址,然后开始训练 python train.py --data traffic_data.yaml --cfg traffic_yolov5s.yaml --weights pretrained/yolov5s.pt --e…...
![](https://www.ngui.cc/images/no-images.jpg)
feign调用失败 feign.RetryableException: xxx-service executing GET http://xxx/test
一。 问题引入 升级springcloud的版本后 突然发现 以前正常的feign调用也报错了 升级后的各组件版本如下 spring cloud 2021.0.5 spring cloud alibaba 2021.0.5.0 spring boot 2.6.13 错误日志如下 feign.RetryableException: xxx-service executing GET http://xxx-servic…...
![](https://www.ngui.cc/images/no-images.jpg)
mysql 用户管理
目录 用户 创建用户 删除用户 修改密码 权限管理 赋权 查看权限 插销权限 总结 用户 mysql 的用户都存在于系统数据库 mysql 的user 表中 mysql> show tables; --------------------------- | Tables_in_mysql | --------------------------- | column…...
![](https://img-blog.csdnimg.cn/1dfe90b1a10f452e9421f9e4ad6bf09e.png#pic_center)
pyinstaller打包exe运行闪退
这里写自定义目录标题 前言问题描述解决过程 前言 闪退原因可能有很多,这里记录下我遇到的问题,简单来说是dll调用错误导致的闪退,因为我的python用的是32位的,但是pyinstaller却是64位的,属于用conda的时候没注意。 …...
![](https://img-blog.csdnimg.cn/5b631699322c43eaa4c120774a697693.png)
ARM 汇编基础知识
1.为什么学习汇编? 我们在进行嵌入式 Linux 开发的时候是绝对要掌握基本的 ARM 汇编,因为 Cortex-A 芯片一 上电 SP 指针还没初始化, C 环境还没准备好,所以肯定不能运行 C 代码,必须先用汇编语言设置好 C 环境…...
![](https://img-blog.csdnimg.cn/c5afc7dede854bbeb69c062e00467b28.png#pic_center)
CRM 自动化如何改善销售和客户服务?
许多 B2B 和 B2C 公司都使用 CRM 系统来组织业务流程,使复杂的任务更容易完成。企业可以使用 CRM 自动化来自动化工作流程,让团队有更多的时间来执行高价值的任务,而不是陷于一堆琐碎事情中。 什么是CRM自动化? CRM 自动化是指 C…...
![](https://img-blog.csdnimg.cn/c6b619379edd49eb8d80bd38a84c545b.webp)
Bean 的六种作用域
目录 一、作用域是什么? 1、singleton(单例作用域) 2、prototype(原型作用域) 3、request(请求作用域) 4、session(回话作用域) 5、application(全局作用域&a…...
![](https://img-blog.csdnimg.cn/0ff79cb6ef54449ca33b5c7e8f5a36d2.png)
go语言--锁
锁的基础,go的锁是构建在原子操作和信号锁之上的 原子锁 原子包实现协程的对同一个数据的操作,可以实现原子操作,只能用于简单变量的简单操作,可以把多个操作变成一个操作 sema锁 也叫信号量锁/信号锁 核心是一个uint32值&#…...
![](https://www.ngui.cc/images/no-images.jpg)
再见,CSDN
从我2018年1月31日加入CSDN,到现在已经5年多的时间了。在这5年里,陆陆续续在CSDN上发布了很多论文阅读笔记、教程、技术文章等等,记录了我从大四到研究生再到工作这段时间的学习和成长轨迹。 我一直有备份个人资料的习惯,尤其是耗…...
![](https://img-blog.csdnimg.cn/f4d79833404b4897ba9b0d388482fa68.jpeg)
MySQL总复习
目录 登录 显示数据库 创建数据库 删除数据库 使用数据库 创建表 添加数据表数据 查询表 添加数据表多条数据 查询表中某数据 增insert 删delete 改update 查select where like 编辑 范围查找 order by 聚合函数 count max min sum avg g…...
![](https://img-blog.csdnimg.cn/img_convert/1e2cf1870b5af421e1c4771b268b9a87.png)
桌面平台层安全随手记录
声明 本文是学习桌面云安全技术要求. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 桌面平台层安全 桌面接入安全 用户标识 一般要求 本项要求包括: a) 系统应为用户提供唯一的身份标识,同时将用户的身份标识与该用户的所…...
![](https://img-blog.csdnimg.cn/e56a54e0554f4c64a8a05352422ba658.png)
【Docker】 08-Dockerfile
什么是Dockerfile Dockerfile可以认为是Docker镜像的描述文件,是由一系列命令和参数构成的教程,主要作用是用来构建docker镜像的构建文件。 Dockerfile解析过程 Dockerfile的保留命令 保留字作用FROM当前镜像是基于哪个镜像的 第一个指令必须是FROMMA…...
![](/images/no-images.jpg)
web前端盒模型/杭州seo服务公司
GFS文件系统其实是一个网络日志文件系统,通常被用作多台计算机共享同一存储设备…… GFS文件系统其实是一个网络日志文件系统,通常被用作多台计算机共享同一存储设备。由于 GFS是日志文件系统,所以,如果将其应用到单独的一台计算机…...
![](https://static.oschina.net/uploads/space/2018/0118/145328_eEi3_1760394.png)
做的好的响应式网站/百度一下百度首页登录
2019独角兽企业重金招聘Python工程师标准>>> 开发小结: 转载于:https://my.oschina.net/inchlifc/blog/1609084...
![](/images/no-images.jpg)
官方网站模版/短视频赚钱app软件
补全 insertHead 函数,实现将一个结点插入到一个链表头部的功能。 相关知识 在介绍如何将一个结点插入到一个链表头部之前,我们先假设该链表头指针为 head,则 head 中存放着链表当前头结点的地址。 如果要将指针变量 t 指向的新结点插入到链…...
![](/images/no-images.jpg)
做网站政府扶持/南京seo培训
内容来源:2017年5月20日,腾讯高级软件工程师吴友强在“中生代技术沙龙系列之互联网大数据”进行《腾讯云大数据实战》演讲分享。IT 大咖说作为独家视频合作方,经主办方和讲者审阅授权发布。阅读字数:1954 | 3分钟阅读嘉宾演讲视频…...
![](/images/no-images.jpg)
wordpress 付费下载/长沙百度快照优化排名
找1-3三个你所做的创新的关键词 分别在IEEE,sci-hub,知网上按以上关键词查找会议,期刊...
网站制作尺寸/网络营销的四个特点
声音也可以搜索了,可不是MP3搜索! 向东博客 Findsounds的声音搜索不同于国内的某些MP3的搜索引擎,它可以可以搜索波…...