2026-10-24 13:24:24
PHP 中的数据类型可分为三大类:基础类型、复合类型和特殊类型,每种类型在存储方式和操作规则上各有特点。以下是详细分类及说明:
一、基础类型布尔型 (bool)
表示逻辑值:true 或 false。
常用于条件判断(如 if 语句)。
整型 (int)
表示整数(如 42、-10)。
范围取决于系统(32 位或 64 位)。
浮点型 (float)
表示小数或科学计数法数值(如 3.14、2.5e3)。
存在精度问题,比较时需谨慎。
字符串型 (string)
由字符组成的序列(如 "Hello")。
支持单引号、双引号及定界符(<<<)定义。
数组 (array)
有序键值对集合,键可以是整数或字符串(如 ['a' => 1, 'b' => 2])。
支持索引数组和关联数组。
对象 (object)
类的实例,包含属性和方法(如 new stdClass())。
需通过 class 定义类结构。
资源 (resource)
引用外部资源(如文件句柄、数据库连接)。
需通过特定函数(如 fopen())创建。
NULL
表示变量无值(如 $var = null;)。
仅有一个值 null,区分大小写。
类型声明 (declare)
通过 declare(strict_types=1) 强制类型检查(PHP 7+)。
影响函数参数和返回值的类型约束。
匿名函数 (callable)
可调用的函数或方法(如 function() { echo 'Hi'; })。
常用于回调或闭包。
隐式转换
PHP 自动转换类型以满足操作(如 "5" + 2 结果为 7)。
字符串转数字时忽略前导空格和无效字符。
显式转换
使用 (int)、(string) 等强制转换(如 $num = (float) "3.14";)。
或通过函数(如 intval()、strval())。
类型检查函数
检测变量类型:
is_bool()、is_int()、is_float()、is_string()
is_array()、is_object()、is_null()
is_callable()(检查是否可调用)
通过理解这些类型及其操作,可以更高效地编写健壮的 PHP 代码。