PHP总共支持8种数据类型:
1. 布尔型 boolean:true or false
2. 整型 integer
3. 浮点型 float/double
4. 字符串型 string
5. 数组型 array
6. 对象 object
7. 资源 resource
8. 空 NULL
与其它编程语言不同,PHP的数据类型不是先声明,再使用。而是先写出,然后由解释器决定它的类型。
布尔型数据
这是PHP中最简单的数据类型,它只有两个取值true 和 false,代表逻辑的真与假。比如:
<?php
$foo = true; //在php中,所有的变量都以$开头
if($foo==true)
echo 'foo is true';
else
echo 'foo is false';
?>
会被解释器判定为false的不止是false本身,还有interger类型的0,浮点型的0.0,空字符串"", 以及只声明,不赋值的数组。字符串型数据
在PHP中,有三种方法定义字符串,分别是两个单引号'', 两个双引号"", 和界定符 <<<
单引号与双引号的区别在于,双引号会把字符串中的变量自动替换为实际的值,然后输出;而单引号则不会。例如:
<?php
$i = 1234;
echo "this is $i"; //输出 this is 1234
echo 'this is $i'; //输出 this is $i
?>
可以这样记忆,双引号比单引号的功能强大。但是处理简单字符串时,一般使用单引号就可以了,如果使用双引号,PHP将花时间对字符串中的变量和转义字符进行处理;而单引号只需要处理单引号本身的转义,其余都是默认输出。
界定符 <<<std
界定符的作用与双引号一样。它的使用方法如下:
<?php
$i = 'show the content';
echo <<<std //界定符的标识符std
\$i is : $i
std; //结束标识符必须顶头写,独占一行,前后不能有其它符号或字符
?>
整型
整型是最常见的一类数据。在PHP中的整型可以是10进制数,可以是16进制数,也可以是8进制数。如果在8进制数后面出现了非法数字8和9,则后面的数字都会被解释器忽略掉。比如:
<?php
$s1 = 123456; //正常的10进制数
$s2 = 0x123456; //以0x开头的16进制数
$s3 = 01234567; //以0开头的8进制数
$s4 = 0123456789; //以0开头的8进制数,7后面的数字会被忽略,因为非法
?>
当用echo来输出以上的数字的值的时候,各个进制都会分别转换为10进制,然后才输出。
同时,如果赋值超过了整型数据所能容纳的最大范围,则就会发生‘整型溢出’,解释器会把数值转换为float型处理。
浮点型 float
浮点型有2种表示方法:
1. 标准格式
如:3.1415, -35.8
2. 科学计数法
3.58E1, 850.77E-3
同其它编程语言一样,浮点数在PHP里也只是一个近似值。所以要尽量避免之间比较浮点数的大小,避免产生不精确的结果。