15621857753

php重要语法3:强制类型转换和自动类型转换

来源:齐鲁建站 栏目:开发教程 阅读: 日期:2022-11-17

本文介绍了php重要语法3:强制类型转换和自动类型转换,实际测试的结果,PHP 7的性能与PHP5.6相比,提升了性能接近200%。在PHP 7 中有些地方,我们可以强制指定类型,也可以不用强制指定类型来声明变量。 我们接来下来讲强制类型转换和自动类型转换两个部份。

一、布尔值的自动类型转换

自动类型转换,就是数据类型在某些情况下,自动会变为其他的类型参与运算。

自动类型转换的发生时机是:运算和判断的时候某些值会自动进行转换。

下面的情况是布尔值判断时的自动类型转换

1,整型的0为假,其他整型值全为真

2, 浮点的0.0,布尔值的假。小数点后只要有一个非零的数值即为真。

3,空字符串为假,只要里面有一个空格都算真。

4,字符串的0,也将其看作是假。其他的都为真

5,空数组也将其视为假,只要里面有一个值,就为真。

6,空也为假

7, 未声明成功的资源也为假

二、其他类型的自动类型转换

只有标量在运算时会产生以下的自动类型转换

PHP,php重要语法

布尔值的true参与运算是会变成整型或者浮点的1

布尔值的false参与运算是会变成整型或者浮点的0

字符串开始处(就是首个字符)是整型或浮点类型的字符,会转成对应的类型参与运算

三、强制类型转换三种方式

1.用后面的三个函数可以完成类型转换,intval()、floatval()、strval()

2.变量前加上()里面写上类型,将它转换后赋值给其他变量

3.settype(变量,类型) 直接改变量本身

四、其他类型

1.空转为整型会为整型的0

2.空转为浮点会为浮点的0

3.空转为字符串会为空字符串‘’

4.浮点的123.0转为字符串会为字符串123

5.浮点的123.2转为字符串会为字符串的123.2

6.浮点即使小数点再大,它都会被干掉,会舍掉小数点后面的值

7.如果字符串转为整型的时候,如果数值在前面,会将前面的数值拿出来做为整型的转换值。

8.settype(变量,'null'); 等价于 unset()一个变量

9.$目标变量 = (类型)$操作变量 只会改变目标变量的类型,不会改变原变量的类型,Settype是改变原值

展开