博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php数据类型之自动转换和强制转换
阅读量:5329 次
发布时间:2019-06-14

本文共 1791 字,大约阅读时间需要 5 分钟。

PHP在PHP 5.x阶段都是完全的弱类型的编程语言。 所谓弱类型,就是在声明变量的时候,不需要指定变量的类型。我要声明一个整型的变量,我不用在前面非得写上类型,再写变量。 而PHP 7 的性能有很大的提高。实际测试的结果,PHP 7的性能与PHP5.6相比,提升了性能接近200%。 在PHP 7 中有些地方,我们可以强制指定类型,也可以不用强制指定类型来声明变量。 我们接来下来讲强制类型转换和自动类型转换两个部份。 【默写级别】布尔值的自动类型转换、强制类型转换的英文单词
布尔值的自动类型转换 自动类型转换,就是数据类型在某些情况下,自动会变为其他的类型参与运算。自动类型转换的发生时机是:运算和判断的时候某些值会自动进行转换。 下面的情况是布尔值判断时的自动类型转换:
1,整型的0为假,其他整型值全为真 2, 浮点的0.0,布尔值的假。小数点后只要有一个非零的数值即为真。 3,空字符串为假,只要里面有一个空格都算真。 4,字符串的0,也将其看作是假。其他的都为真 5,空数组也将其视为假,只要里面有一个值,就为真。 6,空也为假 7, 未声明成功的资源也为假 我们针对以上针理的规则一项一项来做实验看看结果。 1,整型的0为假,其他整型值全为真

 

//整型的0,换成整型的其他值试试$bool = 0;if($bool){echo '美女美女我爱你';}else{echo '凤姐凤姐爱死我,执行假区间咯';}?>

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

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

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

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

6,空也为假

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

?php//下面这段代码会显示警告,可忽略。暂时只需要对着实验知道效果即可:未声成功的资源也为假//下面这一块了解意思就行:打开adasfasfasfdsa.txt这个不存在的文件$res = fopen('adasfasfasfdsa.txt','r');if($res){echo '美女美女我爱你';}else{echo '凤姐凤姐爱死我,执行假区间咯';}?>
 
其他类型的自动类型转换 自动类型转换在运算时也可以发生。跟所有我们总结的规律和观点一样:先总结、后实验。 只有标量在运算时会产生以下的自动类型转换:

总结: 布尔值的true参与运算是会变成整型或者浮点的1布尔值的false参与运算是会变成整型或者浮点的0字符串开始处是整型或浮点类型的字符,会转成对应的类型参与运算 强制类型转换 强制类型转换有三种方式:     1.用后面的三个函数可以完成类型转换,intval()、floatval()、strval()     2.变量前加上()里面写上类型,将它转换后赋值给其他变量     3.settype(变量,类型) 直接改变量本身 我们来进行实验: intval()、floatval()、strval()转换
变量前加上()里面写上类型,将它转换后赋值给其他变量
settype(变量,类型) 直接改变量本身
【你试试】以下是强制类型转换时的特点,每一项你做实验看看对不对:     1.空转为整型会为整型的0     2.空转为浮点会为浮点的0     3.空转为字符串会为空字符串‘’     4.浮点的123.0转为字符串会为字符串123     5.浮点的123.2转为字符串会为字符串的123.2     6.浮点即使小数点再大,它都会被干掉,会舍掉小数点后面的值     7.如果字符串转为整型的时候,如果数值在前面,会将前面的数值拿出来做为整型的转换值。     8.settype(变量,'null'); 等价于 unset()一个变量     9.$目标变量 = (类型)$操作变量 只会改变目标变量的类型,不会改变原变量的类型,Settype是改变原值
set 读音:[sɛt] 解释:设置 type 读音:[taɪp] 解释:类型、方式
 

转载于:https://www.cnblogs.com/sgm4231/p/9772061.html

你可能感兴趣的文章
wpf样式绑定 行为绑定 事件关联 路由事件实例
查看>>
Oracle事务
查看>>
String类中的equals方法总结(转载)
查看>>
内存地址对齐
查看>>
创新课程管理系统数据库设计心得
查看>>
Could not resolve view with name '***' in servlet with name 'dispatcher'
查看>>
[转载] redis 的两种持久化方式及原理
查看>>
管道,数据共享,进程池
查看>>
SDUTOJ3754_黑白棋(纯模拟)
查看>>
php中的isset和empty的用法区别
查看>>
把word文档中的所有图片导出
查看>>
ubuntu 18.04取消自动锁屏以及设置键盘快捷锁屏
查看>>
arcgis api 4.x for js 结合 Echarts4 实现散点图效果(附源码下载)
查看>>
YTU 2625: B 构造函数和析构函数
查看>>
apache自带压力测试工具ab的使用及解析
查看>>
加固linux
查看>>
Hyper-V虚拟机上安装一个图形界面的Linux系统
查看>>
js千分位处理
查看>>
字符串类型的相互转换
查看>>
基础学习:C#中float的取值范围和精度
查看>>