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.<?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.?>

时间: 2024-07-31 17:43:46

php数据类型转换学习笔记的相关文章

js 数据类型转换总结笔记_javascript技巧

javascript有如下数据类型的转换方法: 一,转换成数字 xxx*1.0 转换成字符串 xxx+"" 二,从一个值中提取另一种类型的值,并完成转换工作. .提取字符串中的整数:parseInt(); 例:parseInt("123zhang")的结果为123 .提取字符串中的浮点数:parseFloat(); 例:parseFloat("0.55zhang")的结果为0.55 .执行用字符串表示的一段javascript代码:eval();

sql server 2005数据存储过程学习笔记

sql server 2005 存储过程语法 CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ ; number ] [ { @parameter [ type_schema_name. ] data_type } sql server 2005 存储过程 语法 CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ ; number ]     [ { @par

Python基础数据存储学习笔记

pickle是标准库中的一个模块,在Python 2中还有一个cpickle,两者的区别就是后者更快.所以,下面操作中,不管是用 import pickle ,还是用 import cpickle as pickle ,在功能上都是一样的. 而在Python 3中,你只需要 import pickle 即可,因为它已经在Python 3中具备了Python 2中的cpickle同样的性能. pickle.dump(obj,file[,protocol]) obj:序列化对象,在上面的例子中是一个

ExtJs学习笔记

ExtJS学习笔记 - onReady Extjs学习笔记 - 实战 Extjs学习笔记 - 初篇 ExtJs学习笔记(24)-Drag/Drop拖动功能 ExtJs学习笔记(23)-ScriptTagProxy+XTemplate+WCF跨域取数据 ExtJs学习笔记(22)-XTemplate + WCF 打造无刷新数据分页 ExtJs学习笔记(21)-使用XTemplate结合WCF显示数据 ExtJs学习笔记(20)-利用ExtJs的Ajax与服务端WCF交互 ExtJs学习笔记(19)

Swift学习笔记(2)网络数据交换格式(XML,JSON)解析 [iOS实战 入门与提高卷]

Swift学习笔记(2)网络数据交换格式(XML,JSON)解析 参考书籍及资源:iOS实战 入门与提高卷 关东升 参考书籍地址 用NSXML来解析XML文档 用TBXML来解析XML文档 用NSJSONSerialization来解析JSON文档 目录 Swift学习笔记2网络数据交换格式XMLJSON解析 目录 用NSXML来解析XML文档 示例文档Notesxml 创建XMLParser类 调用与运行结果 用TBXML来解析XML文档 准备工作 创建XMLParser类 调用与运行结果 用

VSTO学习笔记(十四)Excel数据透视表与PowerPivot

原文:VSTO学习笔记(十四)Excel数据透视表与PowerPivot 近期公司内部在做一种通用查询报表,方便人力资源分析.统计数据.由于之前公司系统中有一个类似的查询使用Excel数据透视表完成的,故我也打算借鉴一下. 测试代码下载    原有系统是使用VBA编写的,难以维护,且对新的操作系统如Windows 7.64位架构不支持,我准备用VSTO进行重写. 数据透视表是一种交互式的表,可以进行某些计算,如求和与计数等.所进行的计算与数据跟数据透视表中的排列有关. 数据透视表是一种完全自助式

MySQL学习笔记之数据的增、删、改实现方法_Mysql

本文实例讲述了MySQL学习笔记之数据的增.删.改实现方法.分享给大家供大家参考,具体如下: 一.增加数据 插入代码格式: insert into 表明 [列名-] values (值-) create table test21(name varchar(32)); insert into test21 (name) values ('huangbiao'); 插入原则: 1.插入的数据应与字段的数据类型相同 2.数据的大小应该在列的规定范围内 3.在values中列出的数据位置必须与被加入的列

Windows phone 8 学习笔记(2) 数据文件操作

原文:Windows phone 8 学习笔记(2) 数据文件操作 Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方.本节主要讲解它们的用法以及相关限制性.另外包括本地数据库的使用方式. 快速导航:     一.分析各类数据文件存储方式     二.安装文件夹     三.本地文件夹(独立存储空间)     四.媒体库操作     五.本地数据库 一.分析各类数据文件存储方式 1)安装文件夹 安装文件夹即应用安装

Vue.js第一天学习笔记(数据的双向绑定、常用指令)_javascript技巧

数据的双向绑定(ES6写法)  效果: 没有改变 input 框里面的值时: 将input 框里面的值清空时: 重新给  input 框输入  豆豆 后页面中  span  里绑定{{testData.name}}的值随着 input 框值的变化而变化. 在Vue.js中可以使用v-model指令在表单元素上创建双向数据绑定.并且v-model指令只能用于:<input>.<select>.<textarea>这三种标签. <template> <di