国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > php数据类型转换学习笔记

php数据类型转换学习笔记

来源:程序员人生   发布时间:2014-01-16 12:43:16 阅读次数:3623次

常用的数据类型有字符串型、浮点型(单精度浮点型float、双精度浮点型double)、整形、布尔型

1 其他类型转化为整型

1.1 字符串型转化为整型

1.1.1 如果字符串全部为数字,则直接全部转换为整型,如果有小数点则会去除小数点后面的内容,如 '12' 跟 '12.3' 转换为整型后都为12

1.1.2 如果字符串以字母开头则不管中间或后面有多少数字或小数点,转换为整形后都为0。如'ab12.3c'转换为整型后为0

1.1.3 如果以数字开头,则会去掉数字后面的字符,如果有小数点则去除小数点后面的。如 '123.4abc' 、 '123abc' 转换为整形后都为123

1.2 浮点型转化为整型

1.2.1 如果浮点数含有小数点则去掉小数点后面的字符,如果没有则直接变为整型 。如:浮点数 12.6 转换为整形后为12

1.3 布尔型转化为整型

1.3.1 布尔型转换为整型时,true会转换为 1 false 会转换为 0其中NULL转换为整型后为0   所以如果要判断 if(NULL == 0){echo "NULL等于0";} 是会返回NULL等于0的

2 其他类型转化为字符串型

2.1 整型、浮点型转换为字符串型是直接在数字上加引号 如12 12.3 转换为字符串后为 "12" "12.3"

2.2 布尔型转换为字符串是,true会转换成字符串"1",false 跟NULL转换为字符串结果为空字符串,不会有输出

3 其他类型转化为浮点型

3.1 整型直接转化为浮点型,数值不变,字符串转换为浮点型跟字符串转换为整型基本上是一样的,只不过是当字符串之间有小数点时,小数点会保存。如 “12.3abc” 转换之后为 12.3 其他形式的是一样的方法

3.2 布尔型转换为浮点型是,true会转换成浮点型 1 ,false 跟NULL转换为浮点型结果为0

4 其他类型转化为布尔型

4.1 空字符串转换为 布尔型为FALSE,非空为TRUE;整型跟浮点型的0转换为布尔型为FALSE,其他为TRUE

4.2 NULL转换为布尔型后结果为FALSE

PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有:

•(int)、(integer):转换成整形

•(float)、(double)、(real):转换成浮点型

•(string):转换成字符串

•(bool)、(boolean):转换成布尔类型

•(array):转换成数组

•(object):转换成对象

PHP数据类型有三种转换方式:

•在要转换的变量之前加上用括号括起来的目标类型

•使用3个具体类型的转换函数,intval()、floatval()、strval()

•使用通用类型转换函数settype(mixed var,string type)

第一种转换方式,(int)  (bool)  (float)  (string)  (array) (object),代码如下:

  1. <?php 
  2. $num1=3.14;    
  3. $num2=(int)$num1;    
  4. var_dump($num1); //输出float(3.14)    
  5. var_dump($num2); //输出int(3)    
  6. ?> 

第二种转换方式,intval()  floatval()  strval(),代码如下:

  1. <?php 
  2. $str=”123.9abc”;    
  3. $int=intval($str);     //转换后数值:123    
  4. $float=floatval($str); //转换后数值:123.9    
  5. $str=strval($float);   //转换后字符串:”123.9″     
  6. ?> 

第三种转换方式,settype();代码如下:

  1. <?php 
  2. $num4=12.8;    
  3. $flg=settype($num4,”int”);    
  4. var_dump($flg);  //输出bool(true)    
  5. var_dump($num4); //输出int(12)    
  6. ?> 
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生