首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

【另眼看编程】(3)数据类型的相互转换

2012-08-30 
【另眼看编程】(三)数据类型的相互转换通过前面的文章我们已经了解了PHP中的数据类型。我们回顾一下:PHP中的

【另眼看编程】(三)数据类型的相互转换
通过前面的文章我们已经了解了PHP中的数据类型。我们回顾一下:
PHP中的基本数据类型有四种:布尔值、整型、浮点型以及字符串。复合数据类型有三种:数组、对象以及资源。资源只是一个指向性的类型,它里面并没有存具体的数据,所以它不参与数据类型的转换,也没有转换的必要。
在PHP的常规操作中,简单类型只和简单类型的数据进行互相转换,复杂类型只和复杂类型转换,就是说,整型、浮点型、布尔型、字符串之前可以进行互相转换,数组和对象中可以进行互相转换。
在类型转换的时候,分为两种形式,一种叫做“自动类型转换”,一种叫做“强制类型转换”。

1、自动类型转换
之前有说过,我们的美女助理“PHP”是个很聪明的小萝莉,她可以在我们进行数据运算的时候,根据我们所编辑的程序的上下文,自动识别我们将要使用什么类型的变量进行运算。自动类型转换规则如下:

字串 >>> 数字
如果对字符串进行数学运算,那么PHP会自动把字符串转换为数字格式,转换规则是如果字符串是以数字开头,那么就从字符串第一位开始截取,直到遇见一个非数字的字符为止,如果字符串不是以数字开始,那么将直接用0进行运算。如下所示:

    class A{public $a;public $b;public function __construct(){$this -> a = 1;$this -> b = 2;}public function c(){echo $this -> a+$this -> b;}}$a = new A();var_dump((array)$a);



得到的结果是array(2) { ["a"]=> int(1) ["b"]=> int(2) },可以看到,对象中的方法c并没有被转换到数组中。


------------
PS:同学们要是有什么疑问,可以跟帖提出,我会抽时间为大家解答,或者有哪位能回答的兄弟也可以帮忙解答,互相学习互相进步嘛。

下集预告:
什么是运算符?什么是表达式?

热点排行