主题
  • 默认模式
  • 浅蓝色模式
  • 淡绿色模式
  • 深夜模式

PHP 数据类型

数据类型在 PHP 中指的是存储的数据本身的类型,而不是变量的类型。PHP 是一种弱类型语言,变量本身没有数据类型。理解 PHP 的数据类型是掌握这门语言的基础,本文将全面介绍 PHP 中的各种数据类型及其特性。


PHP 基本数据类型

✅ 字符串 (string)

PHP 的字符串(string)是用于存储文本数据的基本数据类型,具有以下核心特性:动态长度、二进制安全和编码支持。

$str = 'Hello, PHP!'; // 字符串可以单引号定义

$name = "Alice";
$greeting = "Hello, $name!"; // 也可以用双引号定义

✅ 整型 (integer)

PHP 的整型(integer)用于存储整数数值,包括:正整数、负整数和零。

// 不同进制示例
$dec = 42;          // 十进制
$hex = 0x2A;        // 十六进制
$oct = 052;         // 八进制
$bin = 0b101010;    // 二进制

echo "十进制42的不同表示:";
echo "十六进制:$hex, 八进制:$oct, 二进制:$bin";

✅ 浮点型 (float/double)

PHP 的浮点型(又称双精度浮点数,float/double)是用于存储包含小数部分的数值的数据类型。

$float1 = 3.14;       // 标准写法
$float2 = -1.23e4;    // 科学计数法(-12300)
$float3 = 2.5E-3;     // 科学计数法(0.0025)
$float4 = 7.0;        // 即使小数部分为0也视为浮点型

✅ 布尔型 (bool/boolean)

PHP 的布尔类型(bool/boolean)是最简单的数据类型,只有两个值:truefalse

$isActive = true;   // 直接赋值
$isAdmin = false;

// 通过表达式赋值
$isValid = (1 === 1);  // true
$isEmpty = (0 == "");  // true(松散比较)

PHP 复合数据类型

✅ 对象类型 (object)

PHP 的对象类型(object)是面向对象编程的核心数据类型,用于存储类的实例。

// class User {
    public string $name;
    private int $age;

    public function __construct($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }

    public function greet() {
        return "你好 this->name,我是,今年 this->age 岁";
    }
}

$user = new User('王五', 28);
echo $user->greet();  // 你好,我是王五,今年28岁
echo $user->name;     // 王五

✅ 数组类型 (array)

PHP 的数组(array)是一种极其灵活的数据结构,可以存储多个值的有序集合。

// 索引数组
$colors = ['红', '绿', '蓝'];
$colors[] = '黄';  // 添加元素

// 关联数组
$user = [
    'name' => '李四',
    'age' => 30,
    'email' => 'lisi@example.com'
];

// 多维数组
$products = [
    ['id' => 1, 'name' => '手机'],
    ['id' => 2, 'name' => '电脑']
];

// 数组操作
echo count($colors);  // 4
print_r(array_keys($user));  // 输出所有键名

PHP 特殊数据类型

✅ 资源类型 (resource)

PHP 的资源类型(resource)是一种特殊变量,用于保存对外部资源的引用。

// 文件资源
$file = fopen('example.txt', 'r');
if ($file) {
    while (!feof($file)) {
        echo fgets($file);  // 逐行读取
    }
    fclose($file);  // 必须关闭资源
}

// 图像资源 (GD库)
$image = imagecreate(200, 100);
$bgColor = imagecolorallocate($image, 255, 255, 255);
$textColor = imagecolorallocate($image, 0, 0, 0);
imagestring($image, 5, 50, 45, 'PHP', $textColor);
imagepng($image, 'output.png');
imagedestroy($image);  // 释放资源

✅ 空类型 (NULL)

PHP 的空类型(NULL)是表示 "无值" 的特殊数据类型。

$var = null;  // 显式赋值为NULL
$uninitialized;  // 未初始化变量默认NULL

// 数据库查询可能返回NULL
$result = findUserById(123);  // 可能返回User对象或NULL

// NULL合并运算符
$username = $result?->name ?? '匿名用户';


评论区 0
发表评论