PHP学习(四)--数据类型之间相互转换
2015-09-26 18:08
525 查看
类型转换是指将变量或值从一种数据类型转换成其他数据类型。转换的方法有两种,一种是自动转换,一种是强制转换。在PHP中可以根据变量或值的使用环境自动将其转换为最合适的数据类型,也可以根据需要强制转换为用户指定的类型。因为PHP在变量的定义中不需要或不支持明示的类型定义,变量类型是根据使用变量的上下文所决定的,所以在PHP中如果没有明确的要求类型转换,那可以使用默认的类型自动转换。
(bool)(boolean):转换成布尔型
(float)(double)(real):转换成浮点型
(string):转换成字符串
(array):转换成数组
(object): 转换成对象
浮点型转化为整型,将自动舍弃小数点部分,只保留整数部分。如果一个浮点数超过整形数字的有效范围,其结果是不确定的。
当字符串转化为数字时,转化后的数字是从字符串开始部分的数值型字符串,数值型字符串包括用科学计算法表示的数字。
NULL转为字符串,为空字符。
1、自动类型转换
每一个数据都有它的类型,具有相同类型的数据才能彼此操作。在PHP中,自动转换通常发生在不同数据类型的变量进行混合运算时。若参与运算量的类型不同,则先转换成同一类型,然后再进行运算。通常只有4种标量类型才使用自动类型转换。注意这并没有改变这些运算数本身的类型,改变的仅是这些运算数如何被求值。自动类型转换虽然是由系统自动完成的,但在混合运算时,自动转换要遵循转换数据长度增加的方向进行,以保证精度不降低。2、强制类型转换
(int)(integer):转换成整型(bool)(boolean):转换成布尔型
(float)(double)(real):转换成浮点型
(string):转换成字符串
(array):转换成数组
(object): 转换成对象
3、类型转换细节
整型转化为浮点型,由于浮点型的精度范围大于整型,所以转化后的精度不会改变。浮点型转化为整型,将自动舍弃小数点部分,只保留整数部分。如果一个浮点数超过整形数字的有效范围,其结果是不确定的。
当字符串转化为数字时,转化后的数字是从字符串开始部分的数值型字符串,数值型字符串包括用科学计算法表示的数字。
NULL转为字符串,为空字符。
4、变量类型的测试函数
<?php is_bool(); //判断是否为布尔型 is_int();is_integer();is_long(); //判断是否为整型 is_float();is_double();is_real(); //判断是否为浮点数 is_string(); //判断是否为字符串 is_array(); //判断是否为数组 is_object(); //判断是否为对象 is_readable(); //判断是否是资源类型 is_null(); //判断是否为空 is_scalar(); //判断是否是标量,是否为一个整数、浮点数、布尔型、字符串 is_numeric(); //判断是否是任何类型的数字或数字字符串 is_callable(); //判断是否是有效的函数名
相关文章推荐
- 一个关于if else容易迷惑的问题
- MySQL中的integer 数据类型
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- MySQL 数据类型
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- PostgreSQL教程(四):数据类型详解
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- Lua学习笔记之数据类型
- 实现Lua中数据类型的源码分享
- Lua数据类型介绍