自学内容网 自学内容网

PHP数据类型

数据类型

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

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


原文地址:https://blog.csdn.net/huaz_md/article/details/137426915

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!