【另眼看编程】(三)数据类型的相互转换
通过前面的文章我们已经了解了PHP中的数据类型。我们回顾一下:
PHP中的基本数据类型有四种:布尔值、整型、浮点型以及字符串。复合数据类型有三种:数组、对象以及资源。资源只是一个指向性的类型,它里面并没有存具体的数据,所以它不参与数据类型的转换,也没有转换的必要。
在PHP的常规操作中,简单类型只和简单类型的数据进行互相转换,复杂类型只和复杂类型转换,就是说,整型、浮点型、布尔型、字符串之前可以进行互相转换,数组和对象中可以进行互相转换。
在类型转换的时候,分为两种形式,一种叫做“自动类型转换”,一种叫做“强制类型转换”。
1、自动类型转换
之前有说过,我们的美女助理“PHP”是个很聪明的小萝莉,她可以在我们进行数据运算的时候,根据我们所编辑的程序的上下文,自动识别我们将要使用什么类型的变量进行运算。自动类型转换规则如下:
字串 >>> 数字
如果对字符串进行数学运算,那么PHP会自动把字符串转换为数字格式,转换规则是如果字符串是以数字开头,那么就从字符串第一位开始截取,直到遇见一个非数字的字符为止,如果字符串不是以数字开始,那么将直接用0进行运算。如下所示:
得到的结果是array(2) { ["a"]=> int(1) ["b"]=> int(2) },可以看到,对象中的方法c并没有被转换到数组中。
------------
PS:同学们要是有什么疑问,可以跟帖提出,我会抽时间为大家解答,或者有哪位能回答的兄弟也可以帮忙解答,互相学习互相进步嘛。
下集预告:
什么是运算符?什么是表达式?