PHP 数据类型及其作用
PHP 支持多种数据类型,主要分为三类:
标量类型(基本类型)
复合类型
特殊类型
1. 标量类型(Scalar Types)
1.1 整型(Integer)
作用:存储整数,可以是正数或负数
范围:通常为 -2^31 到 2^31-1(32位系统)或 -2^63 到 2^63-1(64位系统)
示例:$age = 25;
1.2 浮点型(Float/Double)
作用:存储带小数点的数字
示例:$price = 19.99;
1.3 字符串(String)
作用:存储文本数据
特点:可以用单引号、双引号、heredoc 或 nowdoc 语法定义
示例:$name = "John";
1.4 布尔型(Boolean)
作用:表示真或假
值:true 或 false
示例:$is_active = true;
2. 复合类型(Compound Types)
2.1 数组(Array)
作用:存储多个值的有序集合
特点:可以是索引数组、关联数组或多维数组
示例:
php
$colors = array("red", "green", "blue");
$person = ["name" => "John", "age" => 30];
2.2 对象(Object)
作用:存储类的实例
特点:可以包含属性和方法
示例:
php
class Person {
public $name;
function sayHello() {
echo "Hello!";
}
}
$person = new Person();
3. 特殊类型(Special Types)
3.1 资源(Resource)
作用:存储对外部资源的引用(如数据库连接、文件句柄等)
特点:不是实际的数据类型,而是资源句柄
示例:$file = fopen("test.txt", "r");
3.2 NULL
作用:表示变量没有值
特点:唯一可能的值是 null
示例:$var = null;
4. 伪类型(Pseudo-types)
PHP 文档中还使用一些伪类型来说明参数或返回值:
4.1 Callable
作用:表示可以作为回调函数的参数
示例:$callback = 'myFunction';
4.2 Iterable
作用:表示可以被遍历的数据类型(数组或实现了 Traversable 接口的对象)
示例:function foo(iterable $iterable) { ... }
4.3 Mixed
作用:表示可以接受任何类型的参数
示例:function bar(mixed $param) { ... }
5. 类型转换
PHP 是弱类型语言,但支持显式类型转换:
php
$var = "123";
$int = (int)$var; // 转换为整型
$float = (float)$var; // 转换为浮点型
$str = (string)$int; // 转换为字符串
$bool = (bool)$var; // 转换为布尔型
$array = (array)$var; // 转换为数组
$obj = (object)$var; // 转换为对象
6. 类型检测函数
PHP 提供了一系列函数来检测变量类型:
is_int(), is_integer(), is_long()
is_float(), is_double()
is_string()
is_bool()
is_array()
is_object()
is_resource()
is_null()
is_callable()
is_iterable()
is_scalar() - 检测变量是否是标量
gettype() - 获取变量类型字符串表示
以上是 PHP 中所有主要的数据类型及其作用。PHP 8.0 还引入了联合类型和更严格的类型系统,进一步增强了类型处理能力。
评论