PHP数据类型

news2025/1/17 1:00:18

华子目录

  • 数据类型
  • PHP的八种数据类型
    • 基本数据类型,4类
    • 复合数据类型,2类
    • 特殊数据类型,2类
  • 类型转换
    • 在PHP中有两种类型转换方式
      • ==其他类型==转==bool类型==
      • ==其他类型==转==数值类型==
      • 实例
  • 类型判断
  • 获取和设定变量类型
    • 获取gettype(变量名)
    • 设置settype(变量名,类型)
  • 整数类型
  • 浮点类型
    • 定义浮点类型
  • bool类型

数据类型

  • 数据类型:data type,在PHP中指的是存储的数据本身的类型,而不是变量的类型。PHP是一种弱类型语言,变量本身没有数据类型。

PHP的八种数据类型

基本数据类型,4类

  • 整形:int,系统分配4个字节存储
  • 浮点型:float/double,系统分配8个字节存储
  • 字符串类型:string,系统根据实际长度分配,表示字符串(使用引号)
  • 布尔类型:bool/boolean,表示布尔类型,只有两个值:true和false

复合数据类型,2类

  • 对象类型:object,存放对象(面向对象)
  • 数组类型:array,存储多个数据(一次性)

特殊数据类型,2类

  • 资源类型:resource,存放资源数据(PHP外部数据,如数据库,文件等)
  • 空类型:NULL,只有一个值就是NULL(不能运算)

类型转换

  • 类型转换:在很多条件下,需要指定的数据类型,如:需要从外部数据(当前PHP取得的数据)中,转换成目标数据类型。

在PHP中有两种类型转换方式

  • 自动转换:系统根据需求自己判定,自己转换(用的比较多,效率偏低)

  • 强制(手动)转换:根据需要手动转换

    • 强制转换规则:在变量之前增加一个括号(),然后再里面写上对应的类型,如int,其中NULL类型使用unset()
  • 在转换过程中,用的比较多的就是转布尔类型(判断)和转数值类型(算术运算)

其他类型bool类型

在这里插入图片描述

其他类型数值类型

  • 布尔true为1,false为0
  • 字符串转数值有自己的规则
    • 字母开头的字符串,永远为0
    • 数字开头的字符串,直到遇到字符串为止(不会同时包含两个小数点)

实例

在这里插入图片描述

类型判断

  • 通过一组类型判断函数来判断变量返回这个变量所保存的数据类型(返回值为bool类型)。(只要返回的结果为bool类型,都可以使用var_dump进行输出打印
  • 是一组以is_开头后跟类型名的函数,如is_int(变量名),is_string(变量名)
  • 返回的bool值不能用echo查看,可以使用var_dump()函数查看
    • var_dump(变量名)自带打印结果

在这里插入图片描述

获取和设定变量类型

  • 有一组函数可以用来获取和设定数据的类型

获取gettype(变量名)

  • gettype(变量名),获取类型,返回的是变量对应的类型名

在这里插入图片描述

设置settype(变量名,类型)

  • settype(变量名,类型)设定数据类型,与强制转换不同
    • 强制转换是对数据值复制后的内容进行处理(不会修改原来的值的性质
    • settype会直接改变原本的数据本身
    • settype设置成功,返回bool

在这里插入图片描述

整数类型

  • 整数类型:保存整数数值(范围限制),4个字节存储数据,最大就是32位:42亿多。但是在PHP中默认是有符号类型(区分正负数)
  • 在PHP中提供了四种整型的定义方式:十进制定义,二进制定义,八进制定义和十六进制定义
    • $a = 120; 10进制
    • $a=0b110; 2进制 2+4=6
    • $a=0110 8进制 8+64=72
    • $a=0x110 16进制 16+256=272

在这里插入图片描述

  • 默认PHP输出数值时,会自动转换成10进制输出

  • PHP中不需要用户那么复杂的去计算,PHP提供了很多函数进行转换

    • decbin()10进制转2进制
    • decoct()10进制转8进制
    • dechex()10进制转16进制
    • bindec()2进制转10进制

在这里插入图片描述

浮点类型

  • 浮点型:小数类型以及超过整型所能存储范围的整数(不保证精度),精度范围大概在15个有效数字左右

定义浮点类型

  • $f1=1.23;
  • $f2=1.23e2 科学计数法,结果为123

在这里插入图片描述

bool类型

  • 布尔类型:两个值true和false,通常是用于判断比较

在这里插入图片描述

  • 在进行某些数据判断的时候,需要特别注意类型转换
  • empty() 判断数据的值是否为“空”,如果为空返回true,不为空返回false
  • isset() 判断数据存储的变量本身是否存在,存在变量返回true,不存在返回false

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

窜天猴AI直播软件功能列表

迎新点名:新进直播间的用户随机指数级自由组合话术,并播报出来 礼物/关注:用户送礼物、关注以及灯牌事件同上根据话术指数级随机组合出来评论区关键字回复:用户评论后,根据预设置的关键字进行语音回复 自动寻品&…

Redis的I/O多路复用

Redis是单线程的,为什么还那么快? 1.redis是基于内存的 2.redis使用I/O多路复用模型 关于I/O多路复用: 多路:多个客户端连接复用:使用单线程就能够实现同时处理多个客户端的连接 单线程去监控多个Socket&#xff…

多线程的入门(三)Thread的认识

线程的生命周期状态 1.Thread的构造器 Thread类的所有构造器最后都指向int方法 示例1: public Thread() {init(null, null, "Thread-" nextThreadNum(), 0); }示例2: public Thread(Runnable target) {init(null, target, "Thread-&qu…

list的使用

前言 我们前面已经对string和vector进行了学习使用,以及对他们的底层进行了模拟实现!本期我们继续学习STL的另外一个容器---list。 本期内容介绍 什么是list? list的常用接口 什么是list? 还是来看看官方的文档说明! 这里通过…

Flutter学习12 - SharedPreferences

1、shared_preferences 插件 类似于 Android 中的 SharedPreferences,键值对的形式进行本地存储 1.1、引入插件 在 pubspec.yaml 中引入 dependencies:shared_preferences: ^2.1.0在需要用到的文件中引入 import package:shared_preferences/shared_preference…

TAB标签美化 - SVG作为mask

今天觉得V3的标签不是很好看,忽然想起来之前看过Vue Admin Beautiful Pro的样式挺好的,顺手研究了一把。发现Vue Admin Beautiful是采用PNGmask css来解决的。于是乎打算把V3的标签页做点小美化,但是迁移过程发生些小插曲,在此记录…

蓝桥杯嵌入式(G431)备赛笔记——按键模块设计

cubeMX配置: 原理图 引脚配置为上拉模式 定时器 使用定时器3(通用定时器,使用外部晶振,内部时钟),分频系数为80(从0开始则为80-1),则每1s 1m次,定时评率为为10000,对应1s 1m/10000次,频率为10ms每次 一定记得开启NVIC使能中断 编写中断回调函数 void HAL_TIM_Per…

windows程序设计课程作业-1

目录 1、作业内容 2、主要思路 (1)写接口 (2)写类具体实现接口 (3)声明委托 (4)创建实例 (5)实例化委托 3、难点分析 1)想明白接口的作用 2)委托的作用 4、实现代码 5、运行结果 1、作业内容 使用 C# 编码(涉及类、接口、委托等关…

Android Studio学习10——资源res的使用

一、String,StringArray的使用 一次修改,多出生效 String StringArray 二、color的使用 颜色代码对应表 和上面的相似用法 三、Dimen(尺寸)的使用 用的少,一般直接写尺寸 四、如何写一个drawable作为背景 五、如何写一个可以改变的drawable(按钮按下…

python爬虫———post请求方式(第十四天)

🎈🎈作者主页: 喔的嘛呀🎈🎈 🎈🎈所属专栏:python爬虫学习🎈🎈 ✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天…

【Qt 学习笔记】如何在Qt中打印日志 | qDebug的使用 | Assistant的使用

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 如何在Qt中打印日志 | qDebug的使用 文章编号:Qt 学习笔记…

全文更新:什么是Power Path?充电时是充电器供电还是电池供电?

原文来自微信公众号:工程师看海,与我联系:chunhou0820 看海原创视频教程:《运放秘籍》 昨天的文章误删了一部分,很多同学留言想看全文,现补充、更新如下: 前段时间,交流群里有位同学…

【群智能算法改进】一种改进的鹦鹉优化算法 鹦鹉优化器 IPO算法【Matlab代码#73】

文章目录 【获取资源请见文章第5节:资源获取】1. 原始鹦鹉优化算法PO2. 改进后的IPO算法2.1 自适应切换因子2.2 混合柯西和高斯变异 3. 部分代码展示4. 仿真结果展示5. 资源获取 【获取资源请见文章第5节:资源获取】 1. 原始鹦鹉优化算法PO 鹦鹉优化算法…

由王雅贤带你深入《DBWGLX vs Ethan_Wang》

vs是versus。 (百度收录我DBWG🙏🙏🙏) 算来篇自传吧。像自我介绍和简历我是完全没写过喵~ 2024年4月6日12:44:53書 本命王雅贤,DBWGLX我的微信号,至于什么意思,吊臂王锅的意思&am…

ARM FVP平台的terminal窗口大小如何设置

当启动ARM FVP平台时,terminal窗口太小怎么办?看起来非常累眼睛,本博客来解决这个问题。 首先看下ARM FVP平台对Host主机的需求: 通过上图可知,UART默认使用的是xterm。因此,我们需要修改xterm的默认字体设…

sql语句如何在MySQL中执行?

我们先来对MySQL的基础结构进行分析 一、 MySQL 基础架构分析 1.1 MySQL 基本架构概览 下图是 MySQL 的一个简要架构图,从下图你可以很清晰的看到用户的 SQL 语句在 MySQL 内部是如何执行的。 简单来说 MySQL 主要分为 Server 层和存储引擎层: Server…

性能分析--内存知识

内存相关知识 计算机中与CPU进行数据交换的桥梁。内存的速度,比CPU的速度要慢很多。比磁盘速度要快很多。内存中存放数据,一旦断电就会消失。linux系统的 /proc路径下的文件,都是内存文件。内存大小,一般 是GB为单位。 现在都操作…

【Pt】马灯贴图绘制过程 04-玻璃脏迹

目录 效果 步骤 一、透明玻璃 二、烟熏痕迹 三、粗糙 四、浮尘 效果 步骤 一、透明玻璃 1. 打开纹理集设置,着色器链接选择“新的着色器链接” 在着色器设置中可以看到此时名称为“Main shader (Copy)” 这里修改名称为“玻璃” 在…

【加密周报】比特币“强烈看涨”信号来了!巨鲸们正疯狂囤积稳定币!SEC呼吁公众对以太币ETF提供意见!

在过去一周里,比特币价格经历了一段下跌,并在随后出现了一些反弹迹象。与此同时,链上数据显示,巨鲸们在囤积稳定币,预示着“强烈的看涨情绪”。以太坊方面,美国证券交易委员会(SEC)已…

异常练习题

第一题:分析题 package chapter09_exception_teacher.src.com.atguigu05.exer.exer2;/*** 输出结果:* 进入方法A* 用A方法的finally* 制造异常* 进入方法B* 调用B方法的finally** author shkstart* create 0:57*/ public class ReturnExceptionDemo {sta…