PHP数据类型

华子目录

  • 数据类型
  • 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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯单片机第十四届省赛模拟考试一

一、基本要求 使用大赛组委会提供的国信长天单片机竞赛实训平台,完成本试题的程序设计与调试。程序编写、调试完成后,选手需通过考试系统提交以准考证号命名的hex文件。不符合以上文件提交要求的作品将被评为零分或者被酌情扣分。 硬件设置: …

数组-二维数组

本笔记为47 数组-二维数组定义方式_哔哩哔哩_bilibili的学习笔记 二维数组 定义方式 注: 常用第二种方式定义,原因:第二种方式更清晰列数可以省行数不可省 ,详见上述第四种定义方式 示例: 二维数组 数组名 作用&am…

CSS层叠样式表学习(引入方式)

(大家好,今天我们将继续来学习CSS引入方式的相关知识,大家可以在评论区进行互动答疑哦~加油!💕) 五、CSS的三种样式表 5.1 CSS的三种样式表 按照CSS样式书写的位置(或者引入方式),CSS样式表可…

笔记-Building Apps with the ABAP RESTful Application Programming Model-Week3

Week3 Unit 1: The Enhanced Business Scenario 本节介绍了将要练习的demo的业务场景,在前两周成果的基础上,也就是只读列表,也可以说是报表APP基础上启用了事务能力,也就是CURD以及自定义业务功能的能力,从创建基本的behavior definition,然后behavior definition proj…

基于GD32的简易数字示波器(2)- 原理图设计

这期记录的是项目实战,做一个简易的数字示波器。 教程来源于嘉立创,202:简易数字示波器项目文档 语雀 下图为示波器的指标 具有选择交流耦合还是直流耦合功能、输入信号不衰减或衰减50倍 输入频率理论最大800KHz输入幅值(不衰…

2024HW-->Wireshark攻击流量分析

在HW中,最离不开的,肯定是看监控了,那么就要去了解一些wireshark的基础用法以及攻击的流量!!!! 1.Wireshark的基本用法 比如人家面试官给你一段流量包,你要会用 1.分组详情 对于我…

9_springboot_shiro_jwt_多端认证鉴权_整合jwt

1. Shiro框架回顾 到目前为之,Shiro框架本身的知识点已经介绍完了。web环境下,整个框架从使用的角度我们需要关注的几个点: 要使用Shiro框架,就要创建核心部件securityManager 对象。 SpringBoot项目中,引入shiro-spr…

蓝凌OA单点登录实现方案:以统一身份管理提升效率与安全新举措

蓝凌OA的优势与挑战 在数字化浪潮的推动下,企业对于高效、安全的身份管理需求愈发迫切。蓝凌OA系统,以其出色的流程管理和协同办公能力,已经成为众多企业实现数字化转型的重要工具。然而,随着企业信息化建设的不断深入&#xff0…

什么时候外部依赖接口慢拖死应用?

A应用调用B应用,当B应用的接口响应耗时平均都在3000ms的时,如果当前A调用B的请求数达300/s 那么在3s内A应用在途的请求数 300 * 3 900 ,按照servlet原理一个http的请求需要一个线程提供服务,即需要900个线程提供服务&#xff0c…

CSS面试题常用知识总结day03

大家好我是没钱的君子下流坯,用自己的话解释自己的知识 前端行业下坡路,甚至可说前端已死,我还想在前段行业在干下去,所以从新开始储备自己的知识。 从CSS——>Javascript——>VUE2——>Vuex、VueRouter、webpack——>…

聚能共创下一代智能终端操作系统 软通动力荣膺“OpenHarmony优秀贡献单位”

近日,由开放原子开源基金会指导,以“开源共享未来”为主题的OpenHarmony社区年会在北京成功举办。本次活动汇集OpenHarmony项目群共建单位及生态伙伴等多方力量,旨在对2023年度OpenHarmony年度开源事业全面总结的同时,吸引更多伙伴…

【Java EE】SpringBoot的创建与简单使用

文章目录 🍀环境准备🌳Maven🌲SpringBoot是什么🎄Spring Boot 项目创建🌸使用Idea创建🌸创建SpringBoot项⽬🌸SpringBoot项目的运行 ⭕总结 🍀环境准备 如果你的IDEA是专业版&#…

STM32F103/F407/H743不同GPIO速度配置(HAL库)对应的最高速度

0 前言 如果我们只是使用MCU控制LED的亮灭,完全可以不关心GPIO的速度配置。但如果我们使用到了SPI、MII、RMII、FSMC等这些高速总线就必须要清楚每种GPIO速度配置对应的最高速度,避免因为GPIO速度配置过低导致总线速度提不上去。 既然如此,那…

Linux网络基础 (三) —— Socket

文章目录 Socket 编程基本概念Socket背景Socket 为了解决什么问题 socketsockaddr结构sockaddrsockaddr_insockaddr 和 sockaddr_in 的关系sockaddr_un 示例代码 🎖 博主的CSDN主页:Ryan.Alaskan Malamute 📜 博主的代码仓库主页 [ Gitee ]&…

OpenHarmony实战:Combo解决方案之ASR芯片移植案例

本方案基于 OpenHarmony LiteOS-M 内核,使用 ASR582X 芯片的 DEV.WIFI.A 开发板进行开发移植。作为典型的 IOT Combo(Wi-FiBLE)解决方案,本文章介绍 ASR582X 的适配过程。 编译移植 目录规划 本方案的目录结构使用 Board 和 So…

C和C++内存管理

目录: 一:C和C内存分布 二:C动态内存管理方式 三:C动态内存管理方式 四:operator new与operator delete函数 五:new和delete的实现原理 六:定位new表达式(placement-new) 七&#xff1…

如何利用Flutter将应用成功上架至iOS平台:详细指南

引言 🚀 Flutter作为一种跨平台的移动应用程序开发框架,为开发者提供了便利,使他们能够通过单一的代码库构建出高性能、高保真度的应用程序,同时支持Android和iOS两个平台。然而,完成Flutter应用程序的开发只是第一步…

如何卸载干净 IDEA(图文讲解)

更新时间 2022-12-20 11:一则或许对你有用的小广告 星球 内第一个项目:全栈前后端分离博客项目,演示地址:Weblog 前后端分离博客, 1.0 版本已经更新完毕,正在更新 2.0 版本。采用技术栈 Spring Boot Mybatis Plus Vue 3.x Vit…

【Consul】基于Golang实现Consul服务的注册、注销、修改、监控注册的服务变化、实时同步服务信息机制

【Consul】基于Go实现Consul服务的注册、注销、修改、监控注册的服务变化、实时同步服务信息机制 大家好 我是寸铁👊 总结了一篇【Consul】基于Go实现Consul服务的注册、注销、修改、监控注册的服务变化、实时同步服务信息机制✨ 这应该是目前全网最全的使用golang手…

idea开发 java web 配电室后台管理系统bootstrap框架web结构java编程计算机网页

一、源码特点 java 配电室后台管理系统是一套完善的完整信息系统,结合java web开发和bootstrap UI框架完成本系统 ,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主 要采用B/S模式开发。 前段主要技术 cs…