插件窝 干货文章 php类型有哪些

php类型有哪些

类型 表示 PHP Callable 156    来源:    2025-03-16

在PHP中,数据类型可以分为以下几类:

  1. 标量类型(Scalar Types)

    • 整数(Integer):整数值,如 42
    • 浮点数(Float/Double):浮点数值,如 3.14
    • 字符串(String):文本数据,如 "Hello, World!"
    • 布尔值(Boolean)truefalse
  2. 复合类型(Compound Types)

    • 数组(Array):有序映射,可以包含多个值,如 array(1, 2, 3)[1, 2, 3]
    • 对象(Object):类的实例,如 new MyClass()
  3. 特殊类型(Special Types)

    • NULL:表示变量没有值,如 $var = NULL;
    • 资源(Resource):外部资源,如数据库连接、文件句柄等。
  4. 伪类型(Pseudo Types)

    • 混合(Mixed):表示一个值可以是多种类型中的一种。
    • 回调(Callback/Callable):表示一个回调函数或方法。
    • 迭代器(Iterable):表示一个可以被遍历的值,如数组或实现了 Traversable 接口的对象。
  5. 其他类型

    • 空(Void):表示函数没有返回值。
    • Never:表示函数永远不会返回值(例如,总是抛出异常或无限循环)。

示例代码

<?php
// 标量类型
$integer = 42;
$float = 3.14;
$string = "Hello, World!";
$boolean = true;

// 复合类型
$array = [1, 2, 3];
$object = new stdClass();

// 特殊类型
$null = NULL;
$resource = fopen('file.txt', 'r');

// 伪类型
function exampleFunction(callable $callback): void {
    $callback();
}

// 其他类型
function neverReturn(): never {
    throw new Exception("This function never returns");
}
?>

类型检查

PHP 提供了多种函数来检查变量的类型,如 is_int(), is_float(), is_string(), is_array(), is_object(), is_null(), is_resource(), is_callable() 等。

<?php
if (is_int($integer)) {
    echo "This is an integer.";
}

if (is_callable($callback)) {
    echo "This is a callable.";
}
?>

类型转换

PHP 是弱类型语言,允许隐式类型转换,但你也可以显式地进行类型转换:

<?php
$number = "123";
$integer = (int)$number;  // 显式转换为整数
?>

这些是PHP中的主要数据类型及其使用方式。