Home >php教程 >php手册 >php数据类型转换学习笔记

php数据类型转换学习笔记

WBOY
WBOYOriginal
2016-06-13 09:51:501284browse

本文章来给各位同学介绍php数据类型转换学习笔记,如果你对php数据类型了解不清楚可进入参考哦。

常用的数据类型有字符串型、浮点型(单精度浮点型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. 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. 2.$str=”123.9abc”;  
3.$int=intval($str);     //转换后数值:123  
4.$float=floatval($str); //转换后数值:123.9  
5.$str=strval($float);   //转换后字符串:”123.9″   
6.?>

第三种转换方式:  settype();

 代码如下 复制代码

1. 2.$num4=12.8;  
3.$flg=settype($num4,”int”);  
4.var_dump($flg);  //输出bool(true)  
5.var_dump($num4); //输出int(12)  
6.?>

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn