PHP8内置函数中的变量函数-PHP8知识详解

在php8中,与变量相关的内置函数比较多,本文说一些比较重要的、常见的内置函数。今日着重讲解了5个,分别是:检测变量是否为空的函数empty()、判断变量是否定义过的函数isset()、销毁指定的变量的函数unset()、获取变量的类型的函数gettype()、检查变量是否为数字或数字字符串的函数is_numeric()。

Image

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()。

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

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

相关文章

通过Siri打造智能爬虫助手:捕获与解析结构化数据

在信息时代&#xff0c;我们经常需要从互联网上获取大量的结构化数据。然而&#xff0c;传统的网络爬虫往往需要编写复杂代码和规则来实现数据采集和解析。如今&#xff0c;在苹果公司提供的语音助手Siri中有一个强大功能可以帮助我们轻松完成这项任务——通过使用自定义指令、…

MySQL表的CURD

CRUD : Create(创建), Retrieve(读取)&#xff0c;Update(更新)&#xff0c;Delete&#xff08;删除&#xff09; Create 语法 INSERT [INTO] table_name [(column [, column] ...)] VALUES (value_list) [, (value_list)] ... value_list: value, [, value] ... 示例&#x…

鸿鹄工程项目管理系统 Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统

工程项目管理软件&#xff08;工程项目管理系统&#xff09;对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营&#xff0c;全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&am…

基于Hata模型的BPSK调制信号小区覆盖模拟matlab完整程序分享

基于Hata信道模型的BPSK调制信号小区覆盖模拟matlab仿真&#xff0c;对比VoIP, Live Video,FTP/Email 完整程序&#xff1a; clc; clear; close all; warning off; addpath(genpath(pwd)); % Random bits are generated here. bits randi([0, 1], [50,1]); M 2; t 1:1:50; …

Lesson5-2:OpenCV视频操作---视频追踪

学习目标 理解meanshift的原理知道camshift算法能够使用meanshift和Camshift进行目标追踪 1.meanshift 1.1原理 m e a n s h i f t meanshift meanshift算法的原理很简单。假设你有一堆点集&#xff0c;还有一个小的窗口&#xff0c;这个窗口可能是圆形的&#xff0c;现在你可…

【算法】堆排序 详解

堆排序 详解 堆排序代码实现 排序&#xff1a; 排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性&#xff1a; 假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&#xff0c…

企业架构LNMP学习笔记18

nginx的日志&#xff1a; 日志类型&#xff1a; access.log 访问日志、查看统计用户的访问信息&#xff0c;流量。 error.log 错误日志&#xff0c;错误信息&#xff0c;重写信息。 access.log日志文件内容示例&#xff1a; 192.168.17.1 - - [06/Sep/2023:20:37:39 0800] …

前端开发从 0 到 1 掌握 docker

文章目录 前端从 0 到 1 掌握 docker一、docker 的一些基础概念概念定义question&#xff1a;什么是docker&#xff1f; 为什么要使用docker&#xff1f; 二、实战操作 (墙裂建议读者实操一遍)Part1 - Linux CentOS 服务安装 DockerPart2 - 启动、使用、查看等命令Part3 - 示例…

循迹小车原理介绍和代码示例

目录 循迹小车 1. 循迹模块使用 2. 循迹小车原理 3. 循迹小车开发和调试代码 循迹小车 1. 循迹模块使用 TCRT5000传感器的红外发射二极管不断发射红外线当发射出的红外线没有被反射回来或被反射回来但强度不够大时红外接收管一直处于关断状态&#xff0c;此时模块的输出…

智能小车—PWM方式实现小车调速和转向

目录 1. 让小车动起来 2. 串口控制小车方向 3. 如何进行小车PWM调速 4. PWM方式实现小车转向 1. 让小车动起来 电机模块开发 L9110s概述 接通VCC&#xff0c;GND 模块电源指示灯亮&#xff0c; 以下资料来源官方&#xff0c;具体根据实际调试 IA1输入高电平&#xff0c…

mybatisplus多租户配置

概述 当前mybatisPlus版本 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.2</version> </dependency>jdk版本&#xff1a;17 springboot版本&#xff1a;…

五大类注解和方法注解详解

五大类注解为Controller&#xff0c;Service&#xff0c;Repository&#xff0c;Configuration&#xff0c;Component,方法注解为Bean。 需要注意的是&#xff1a;Bean注解必须要在类注解修饰的类内才能正常使用。 一、与配置文件的关系 在spring原生项目中 如果你使用的spri…

ES6中let和const关键字与var关键字之间的区别?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 变量作用域&#xff08;Scope&#xff09;&#xff1a;⭐ 变量提升&#xff08;Hoisting&#xff09;&#xff1a;⭐ 重复声明&#xff1a;⭐ 初始化&#xff1a;⭐ 全局对象属性&#xff1a;⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#…

[极客大挑战 2019]FinalSQL(bypass盲注)

这里是数字型注入&#xff0c;选择一个序号 fuzz ?id1这里过滤了很多东西 使用fuzzSQL字典&#xff0c;这是我自己定义编写的一个fuzz字典&#xff0c;内容较少 select from information . tables whereand " or | & union columns updatexml extractvalue databa…

stable diffusion webui中的sampler

Stable Diffusion-采样器篇 - 知乎采样器&#xff1a;Stable Diffusion的webUI中&#xff0c;提供了大量的采样器供我们选择&#xff0c;例如Eular a&#xff0c; Heum&#xff0c;DDIM等&#xff0c;不同的采样器之间究竟有什么区别&#xff0c;在操作时又该如何进行选择&…

使用ECS和RDS部署WordPress,搭建个人博客并使用域名访问

目录 一、准备工作 1、准备ECS服务器 2、创建数据库账号和密码 二、部署环境 1、远程连接 2、安装Apache服务 3、部署WordPress 三、对博客的优化并使用域名访问 1、博客的设计优化 1.1 插件的使用 1.2 博客的设计介绍 2、使用域名访问 四、个人博客部署的心得 1…

Unity RawImage

文章目录 1. Image2. RawImage2.1 UV Rect 3. RawImage 应用 1. Image Image 控件在我的这篇博客中有详细解释&#xff1a; https://blog.csdn.net/weixin_45136016/article/details/125655214 2. RawImage RawImage 组件是一个用来显示纹理的组件&#xff0c;常常跟Render …

基于神经网络结合紫外差分光谱的二氧化硫浓度定量预测

基于神经网络结合紫外差分光谱的二氧化硫浓度定量预测 前言一、代码运行1. 解压数据2. 导包3. 读取数据4. 构建网络5. 设置优化器6. 模型训练7. 可视化loss8. 模型验证 二、结果展示三、总结作者简介 前言 二氧化硫&#xff08;SO2&#xff09;是一种常见的环境污染物&#xff…

Spring系列文章3:基于注解方式依赖注入

和XML 配置文件一样&#xff0c;注解本身并不能执行&#xff0c;注解本身仅仅只是做一个标记&#xff0c;具体的功能是框架检测 到注解标记的位置&#xff0c;然后针对这个位置按照注解标记的功能来执行具体操作&#xff0c;本质上所有操作都是Java代码来完成的&#xff0c;XML…

<九> objectARX开发:读写Excel、json与txt格式文件

一、功能描述 在实际应用中,有时候我们需要通过文本格式或者表格等格式来传递数据,例如*.txt、Excel表格或者*.json文件。此时我们就需要想办法来读写这些数据。本节我们来说一下如何读写读写Excel、json与txt格式文件。 二、不同文件格式读写 2.1 读写Excel excel文件的读…