PHP 数据类型

本文介绍了PHP中的数据类型,包括null的唯一值特性,bool类型的转换规则,int在超出范围时变为float,float的精度问题,string的转义表示,array的键值对结构及键的转换规则,以及object和enum的转换行为。
摘要由CSDN通过智能技术生成

NULL

1.未定义和unset()的变量都将解析为值null

2.null 类型只有一个值,就是不区分大小写的常量 null

3.使用 (unset) $var 将一个变量转换为 null 将不会删除该变量或 unset 其值。仅是返回 null 值而已

Boolean

1.可以用bool强制类型转换

2.var_dump((bool) ""); // bool(false)
var_dump((bool) "0"); // bool(false)
var_dump((bool) 1); // bool(true)
var_dump((bool) -2); // bool(true)
var_dump((bool) "foo"); // bool(true)
var_dump((bool) 2.3e5); // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array()); // bool(false)
var_dump((bool) "false"); // bool(true)

Integer

1.如果给定的一个数或者运算结果超出了int的范围,将会被解释为float

2.PHP 没有 int 除法取整运算符,要使用 intdiv() 实现。 1/2 产生出 float 0.5。 值可以舍弃小数部分,强制转换为 int,或者使用 round() 函数可以更好地进行四舍五入

Float

1.精度有限,所以在运算过程中可能会出现结果与预想不同的问题

String

1.转义表示  ${}或者{$}

Array

1.数组内部的组合为键值对,key可以是int或string,value可以是任意类型

2.此外 key 会有如下的强制转换:

  • String 中包含有效的十进制 int,除非数字前面有一个 + 号,否则将被转换为 int 类型。例如键名 "8" 实际会被储存为 8。另外, "08" 不会被强制转换,因为它不是一个有效的十进制整数。
  • Float 也会被转换为 int ,意味着其小数部分会被舍去。例如键名 8.7 实际会被储存为 8
  • Bool 也会被转换成 int。即键名 true 实际会被储存为 1 而键名 false 会被储存为 0
  • Null 会被转换为空字符串,即键名 null 实际会被储存为 ""
  • Array 和 object 不能 被用为键名。坚持这么做会导致警告:Illegal offset type

Object

Enum

将 enum 转换为 object 不会有变化。 将 enum 转换为 array, 纯粹枚举会创建单个 name 键的数组; 回退枚举创建带 name 和 value 键的数组。 其他类型转换都会导致错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值