PHP数据类型
PHP数据类型
1、标量数据类型
4种标量类型
Boolean(布尔型)
integer(整型)
float/double(浮点型)
string(字符串型)
2、复合数据类型
两种复合类型
array(数组)
object(对象)
3、特殊数据类型
两种特殊类型
resource(资源)
NULL
4、转换数据类型
5、检测数据类型
①标量数据类型
类型 | 说明 |
boolean(布尔型) | 这是最简单的类型。只有两个值,真(true)和假(false) |
string(字符串型) | 字符串就是连续的字符序列,可以是计算机所能表示的一切字符的集合 |
integer(整型) | 整型数据类型只能包含整数。这些数据类型可以是正数或负数 |
float(浮点型) | 浮点数据类型用于存储数字,和整型不同的是它有小数位 |
布尔型
注意:在PHP中不是只有false值才为假的,在一些特殊 情况下boolean值也被认为是false。这些特殊情况为: 0、0.0、"0"、空白字符串("")、只声明没有赋值的数组等。
字符串型
在PHP中,有3种定义字符串的方式,分别是单引号(')、双引号(")和界定符(<<<)。单引号和双引号是经常被使用的定义方式,定义格式如下:
<?php <?php
$a ='字符串'; 或 $a ="字符串";
?> ?>
单引号与双引号的区别:
(1)两者的不同之处在于,双引号中所包含的变量会自动被替换成实际数值,而单引号中包含的变量则按普通字符串输出。
(2)对转义字符的使用。使用单引号时,只要对单引号"'"进行转义即可,但使用双引号(")时,还要注意"""、"$"等字符的使用。这些特殊字符都要通过转义符"\"来显示。
转义字符 | 输出 |
\n | 换行(LF 或 ASCII 字符 0x0A(10)) |
\r | 回车(CR 或 ASCII 字符 0x0D(13)) |
\t | 水平制表符(HT 或 ASCII 字符 0x09(9)) |
\\ | 反斜杠 |
\$ | 美元符号 |
\' | 单引号 |
\" | 双引号 |
\[0-7]{1,3} | 此正则表达式序列匹配一个用八进制符号表示的字符,如\467 |
\x[0-9A-Fa-f]{1,2} | 此正则表达式序列匹配一个用十六进制符号表示的字符,如\x9f |
②复合数据类型
数组
定义数组的语法格式如下:
$array = ('value1',' value2 '……)
或
$array[key] = 'value'
或
$array = array(key1 => value1, key2 => value2……)
其中,参数key是数组元素的下标,value是数组下标所对应的元素。以下几种都是
正确的格式:
$arr1 = array('This','is','a','example');
$arr2 = array(0 => 'php', 1=>'is', 'the' => 'the', 'str' => 'best ');
$arr3[0] = 'tmpname';
声明数组后,数组中的元素个数还可以自由更改。只要给数组赋值,数组就会自动增加长度
对象
编程语言所应用到的方法有两种:面向过程和面向对象。在PHP中,用户可以自由使用这两种方法。
③特殊数据类型
类型 | 说明 |
resource(资源) | 资源是一种特殊变量,又叫做句柄,保存到外部资源的一个引用。资源是通过专门的函数来建立和使用的 |
null(空值) | 特殊的值,表示变量没有值,唯一的值就是null |
④转换数据类型
转换操作符 | 转换类型 | 举例 |
(boolean) | 转换成布尔型 | (boolean)$num、(boolean)$str |
(string) | 转换成字符型 | (string)$boo、(string)$flo |
(integer) | 转换成整型 | (integer)$boo、(integer)$str |
(float) | 转换成浮点型 | (float)$str、(float)$str |
(array) | 转换成数组 | (array)$str |
(object) | 转换成对象 | (object)$str |
在进行类型转换的过程中应该注意以下内容:
- 转换成boolean型时,null、0和未赋值的变量或数组会被转换为
false,其他的为真
- 转换成整型时,布尔型的false转换为0,true转换为1,浮点型的
小数部分被舍去,字符型如果以数字开头就截取到非数字位,否则输
出0。
类型转换还可以通过settype()函数来完成,该函数可以将指定的
变量转换成指定的数据类型。
bool settype ( mixed var, string type )
参数var为指定的变量,参数type为指定的类型,参数type有7个可
选值,即boolean、float、integer、array、null、object和string
。如果转换成功则返回true,否则返回false。
当字符串转换为整型或浮点型时,如果字符串是以数字开头
的,就会先把数字部分转换为整型,再舍去后面的字符串;如果
数字中含有小数点,则会取到小数点前一位。
可以看到,使用integer操作符能直接输出转换后的变量类型
。并且原变量不发生任何变化。而使用settype()函数返回的是1
,也就是true,而原变量被改变了。在实际应用中,可根据情况
自行选择转换方式。
⑤检测数据类型
PHP还内置了检测数据类型的系列函数,可以对不同类型的数据进行检
测,判断其是否属于某个类型,如果符合则返回true,否则返回false。检
测数据类型的函数如下表所示。
函数 | 检测类型 | 举例 |
is_bool | 检查变量是否是布尔类型 | is_bool(true)、is_book(false) |
is_string | 检查变量是否是字符串类型 | is_string('string')、is_string(1234) |
is_float/is_double | 检查变量是否为浮点类型 | is_float(3.1415)、is_float('3.1415)) |
is_integer/is_int | 检查变量是否为整数 | is_integer(34)、is_integer('34') |
is_null | 检查变量是否为null | is_null(null) |
is_array | 检查变量是否为数组类型 | is_array($arr) |
is_object | 检查变量是否是一个对象类型 | is_object($obj) |
is_numeric | 检查变量是否为数字或由数字组成的字符串 | is_numeric('5')、is_numeric('bccd110') |

浙公网安备 33010602011771号