php之类型转换
2016-04-03 22:42
405 查看
php是弱类型语言,在运算中会根据运算符将数据转换成该运算符所能处理的数据。
算术运算符会将数据变为数字处理
①两个数字比较–正常情况
②其中有一个数据是布尔型的,则都转成布尔型进行比较 true>false
③数据中没有布尔型的,但其中有一个数据是数字,则转成数字 比较
④两边都是数字字符串,转成数字来比较
⑤比较运算符中两边都是字符串类型,从首个字符开始依次比较ASCII值,哪个大就停止后续比较。
一些转换规则:
“12” –> 12
“1.2” –> 1.2
“1.2a”- –> 1.2
“a1.2” —> 0
“1.1a1” —> 1.1
“0” —> false
“1” —> true
0 —> false
“0.0” —> true
“abc” —> 0
“” —> 0
“” – >false
getType():获取一个变量的类型名称,返回是一个类型名称字符串
setType(变量,”目标类类型”); 设置一个变量的类型
isset() 如果变量存在并且值不是 NULL 则返回 TRUE ,否则返回 FALSE 。
empty 判断一个变量数据是否为空
unset() 销毁一个变量
is_int()
is_numeric() —1 ,1.2 ,”1.2” ,”12” 都为真
is_array() is_scalar—是否基本数据类型: string float int boolean
is_null — 检测变量是否为 NULL
1.自动转换
if($a | 数字) { 。。。} //if里面的变量或者数字会自动转换成布尔算术运算符会将数据变为数字处理
$a = "3"; $b = "5"; $c = $a + $b ; var_dump($c);// 8 integer
3. 连接运算符. 转成字符串类型
$str = '123'.true.'abc';// 1231abc string
4. 比较运算符,分几种情况
①两个数字比较–正常情况
②其中有一个数据是布尔型的,则都转成布尔型进行比较 true>false
③数据中没有布尔型的,但其中有一个数据是数字,则转成数字 比较
④两边都是数字字符串,转成数字来比较
⑤比较运算符中两边都是字符串类型,从首个字符开始依次比较ASCII值,哪个大就停止后续比较。
一些转换规则:
“12” –> 12
“1.2” –> 1.2
“1.2a”- –> 1.2
“a1.2” —> 0
“1.1a1” —> 1.1
“0” —> false
“1” —> true
0 —> false
“0.0” —> true
“abc” —> 0
“” —> 0
“” – >false
<?php header("content-type:text/html;charset=utf-8"); $name = "tom"; if($name) { echo '$name为真'.'<hr>'; }else { echo '$name为假'.'<hr>'; } //1.在算数运算符中的类型转换 :会转换成数字进行计算 $a = "1.1";//"1.1a" 会转换成1.1 , "a1.1"会转换成0 $b = "7"; $c = $a + $b ; echo $c," ",getType($c),'<hr>';//12 double //连接运算符.其结果是字符串类型 $a = 5; $b = true;// true 转换为 1 , false 转换成 0 $c = $a.$b ; echo $c," ",getType($c),'<hr>';//51 string //比较运算符,其结果一定是true或false $a = false ; $b = 5; //如果两边至少一个布尔值,则把非布尔值数据转为布尔值比较,其结果类型也是布尔 $c = ($a < $b);//这里$b转为true , $c = false < true; echo $c," ",getType($c),'<hr>';//1 boolean //比较运算符中,两边不存在布尔类型但存在数字,则都转为数字类型比较 $a = 5 ; $b = "abc";//$b 要转为数字比较,这里为0 $c = ($a > $b); echo $c," ",getType($c),'<hr>';//1 boolean //比较运算符中两边都是字符串类型 $a = "abc" ; $b = "abd"; $c = ($a < $b);//从首个字符开始依次比较ASCII值,哪个大就停止后续比较 echo $c," ",getType($c),'<hr>';//1 boolean
2.强制转换
$a = 11.5; $b = (int)$a;//强制转换成int赋值给$b echo $a." 类型:".getType($a).'<hr>';//11.5 类型:double echo $b." 类型:".getType($b).'<hr>';//11.5 类型:double $c = (string)$a; echo $c." 类型:".getType($c).'<hr>';//11.5 类型:11.5 类型:string $d = (boolean)$a; echo $d." 类型:".getType($d).'<hr>';//1 类型:boolean $e = (float)$b;//强制转换成浮点数 echo $e." 类型:".getType($e).'<hr>';//11 类型:double setType($c,"float"); echo $c." 类型:".getType($c).'<hr>';//11.5 类型:double
3.与类型相关的函数
var_dump() :输出一个变量的完整信息getType():获取一个变量的类型名称,返回是一个类型名称字符串
setType(变量,”目标类类型”); 设置一个变量的类型
isset() 如果变量存在并且值不是 NULL 则返回 TRUE ,否则返回 FALSE 。
empty 判断一个变量数据是否为空
unset() 销毁一个变量
is_int()
is_numeric() —1 ,1.2 ,”1.2” ,”12” 都为真
is_array() is_scalar—是否基本数据类型: string float int boolean
is_null — 检测变量是否为 NULL
相关文章推荐
- PHP中的getcwd()和__FILE__方法的区别
- PHP--数据库访问(增、删、改、查)
- php中this,self,parent三个关键字
- PHP根据两点间的经纬度计算距离,php两点经纬度计算(转)
- 每天laravel-20160628|TaggedCache
- 每天laravel-20160628|TaggedCache
- php的mysql\mysqli\PDO(三)PDO
- php的mysql\mysqli\PDO(二)mysqli
- PHP新的垃圾回收机制:Zend GC详解
- PHP浅复制与深复制
- PHP性能测试工具xhprof安装与使用
- Xdebug+ZendStudio配置
- php+mysql+html 之页面输入、输出
- PHP 用session与gd库实现简单验证码生成与验证的类
- PHP 用session与gd库实现简单验证码生成与验证的类
- getsockname和getpeername函数
- PHP开发环境搭建
- php笔记之表单验证
- Yii2版本号新特性简单介绍
- thinkphp模板中标签<volist>,<if>和 U函数的使用