您的位置:首页 > 编程语言 > PHP开发

PHP学习(四)--数据类型之间相互转换

2015-09-26 18:08 525 查看
类型转换是指将变量或值从一种数据类型转换成其他数据类型。转换的方法有两种,一种是自动转换,一种是强制转换。在PHP中可以根据变量或值的使用环境自动将其转换为最合适的数据类型,也可以根据需要强制转换为用户指定的类型。因为PHP在变量的定义中不需要或不支持明示的类型定义,变量类型是根据使用变量的上下文所决定的,所以在PHP中如果没有明确的要求类型转换,那可以使用默认的类型自动转换。

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();  //判断是否是有效的函数名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php 数据类型