隐式转换

PHP是弱语言,会根据程序运行环境自动转换, 在使用 == 号时,如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换为数值并且比较按照数值来进行。此规则也适用于 switch 语句。(绝对比较请使用 ===)

第一个操作数类型

第二个操作数类型

类型转换

整型

浮点型

整型转换为浮点型

整型

字符串

字符串转换为数字,如果字符串转换后是浮点型,整型也会转换为浮点型

浮点型

字符串

字符串转换为浮点型

总结一下就是浮点型 > 整型 > 字符串 >布尔类型

(1)自动转换为数值类型(整型和浮点型)

a.合法数字字符串,除了 . e E,并且没有超出整型最大范围转为整型,否则转为浮点型

如:'123’=>123
b.不合法数字字符串(包含字母),如果以数值开头转为改数值,如果以字母开头转为0

如:'12bhd’=>12 ;      ‘udj098’=>0
c.布尔值转为数值类型,true 转 1,false转0
d. null 转为数值类型 0
e.空字符串 转为数值类型 0

(2)自动转换为字符类型

a.整型和浮点型转为字符型改数值本身

b.布尔值转为字符类型 true转为值'1',false 空字符串

c.null转为字符型 空字符串

d.数组转为字符型 Array字符串

e.资源转为字符型 Resource id #数字 字符串

(3)自动转换为布尔类型

转为false的情况如下:

a.布尔值false

b.空字符串转为布尔型false

c.null转为布尔型false

d.整型0,浮点型0.0,字符串'0'"0"转为布尔型false

e.没有成员的数组(空数组)转为布尔型false,其他情况都转为true;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值