0Pricing
PHP Academy · 课时

PHP 数据类型概览

探索 PHP 中的字符串、整数、浮点数、布尔值和 NULL。

PHP 数据类型概览 是 CoddyKit 上的免费 PHP Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 PHP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 PHP Academy 课程共包含 4 节课。

PHP 的核心数据类型

PHP 支持四种标量类型,以及几种复合类型和特殊类型:

  • 标量:字符串、整数、浮点数、布尔值
  • 复合:数组、对象
  • 特殊:NULL、资源

PHP 会根据上下文自动选择类型——这称为类型转换。

字符串

字符串用于存储文本。可以使用单引号或双引号:

<?php
$single = 'Hello World';     // single — no variable parsing
$name   = 'PHP';
$double = "Hello $name";     // double — variables are interpolated

echo $double; // Hello PHP
echo strlen($single); // 11

整数和浮点数

PHP 中的整数是完整的数值;浮点数(双精度数)用于保存小数值:

<?php
$count  = 42;         // int
$neg    = -7;         // negative int
$hex    = 0x1A;       // hexadecimal = 26
$price  = 19.99;      // float
$sci    = 1.5e3;      // scientific = 1500.0

echo PHP_INT_MAX;   // largest integer on this platform
echo PHP_FLOAT_MAX; // largest float

布尔值

布尔值只有 true 或 false 两种。PHP 会将许多值判断为真值或假值:

  • 假值:false、0、0.0、''、'0'、[]、NULL
  • 真值:其他所有值
<?php
$isActive = true;
$isDone   = false;

if ($isActive) {
    echo 'Active';   // runs
}

var_dump((bool) '');   // bool(false)
var_dump((bool) 'hi'); // bool(true)

NULL

NULL 表示有意缺少某个值:

  • 如果变量被赋值为 NULL、从未赋值或已被取消设置,则该变量为 NULL
  • 使用 is_null($var) 或 === null 检查是否为 NULL
<?php
$nothing = null;

var_dump(is_null($nothing));   // bool(true)
var_dump($nothing === null);   // bool(true)
var_dump($nothing == false);   // bool(true) — loose comparison

数组类型

PHP 中的数组可以保存不同类型的值,并使用整数键或字符串键:

<?php
$mixed = [42, 'hello', true, null];
$map   = ['name' => 'Alice', 'age' => 30];

echo gettype($mixed);        // array
echo count($mixed);          // 4
echo $map['name'];           // Alice

类型检查函数

PHP 提供了 is_* 函数,可在运行时检查类型:

<?php
$val = 3.14;

var_dump(is_int($val));    // bool(false)
var_dump(is_float($val));  // bool(true)
var_dump(is_string($val)); // bool(false)
var_dump(is_numeric('42')); // bool(true) — string that looks like a number

严格类型声明

PHP 7+ 允许在文件顶部启用严格类型模式:

<?php
declare(strict_types=1);

function add(int $a, int $b): int {
    return $a + $b;
}

echo add(3, 4);    // 7
// add(3, '4');   // TypeError in strict mode!

函数中的类型提示

PHP 7+ 支持为参数和返回类型添加类型提示,以提高代码清晰度并发现错误:

<?php
function greet(string $name): string {
    return 'Hello, ' . $name . '!';
}

function divide(float $a, float $b): ?float {
    if ($b === 0.0) return null;  // nullable return
    return $a / $b;
}

echo greet('PHP');          // Hello, PHP!
var_dump(divide(10, 0));    // NULL

资源

资源是一种特殊变量,它保存对外部资源的引用,例如文件句柄或数据库连接:

<?php
// fopen returns a resource
$handle = fopen('data.txt', 'r');

echo gettype($handle); // resource

fclose($handle); // always free resources when done

联合类型(PHP 8)

PHP 8 引入了联合类型,允许参数或返回值接受多种类型:

<?php
declare(strict_types=1);

function format(int|float $number): string {
    return number_format($number, 2);
}

echo format(1234);     // 1,234.00
echo format(9.5);      // 9.50

快速检查

对于字符串 '42',PHP 的 is_numeric() 函数会返回什么?

回顾:PHP 数据类型

您已经学习了 PHP 的类型系统:

  • 标量类型:字符串、整数、浮点数、布尔值
  • 用于有意表示缺少值的 NULL
  • 作为复合类型的数组和对象
  • 用于外部句柄的资源
  • PHP 8 支持灵活签名的联合类型
  • 使用 declare(strict_types=1) 启用严格模式

下一步:使用 echo 和 print 向浏览器输出数据。

常见问题解答

「PHP 数据类型概览」课时是免费的吗?

是的 — 「PHP 数据类型概览」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 PHP Academy 课程的其余内容,请升级到 CoddyKit PRO。 PHP Academy 课程共包含 4 节课。

「PHP 数据类型概览」这节课中我会学到什么?

探索 PHP 中的字符串、整数、浮点数、布尔值和 NULL。 你通过在浏览器中直接运行的动手代码来练习 PHP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 PHP Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 PHP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「PHP 数据类型概览」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 PHP Academy 课中编写并运行代码吗?

能。每节 PHP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 在 PHP 中声明变量
  2. PHP 数据类型概览
  3. 使用 Echo 和 Print 输出
  4. 类型 juggling 与类型转换
← 返回 PHP Academy