跳至内容

数据类型

这篇讲 PHP 的八种基本数据类型以及最常用的字符串处理函数。理解数据类型是正确使用变量和运算符的基础。

数据类型概览

PHP 支持八种原始类型:

分类类型说明
标量类型string(字符串)字符序列,如 "hello"
标量类型int(整型)整数,如 42
标量类型float(浮点型)带小数点的数字,如 3.14
标量类型bool(布尔型)truefalse
复合类型array(数组)有序键值对集合
复合类型object(对象)类的实例
特殊类型null表示变量无值
特殊类型resource(资源)外部资源引用(如文件句柄、数据库连接)

字符串

字符串可以是单引号或双引号内的任意文本:

<?php
$x = "Hello world!";   // 双引号——会解析变量
$y = 'Hello world!';   // 单引号——原样输出,不解析变量
?>

双引号 vs 单引号:双引号会解析其中的变量和转义字符(\n\t 等),单引号则原样输出。对于纯文本字符串,单引号性能略好。

常用的字符串函数:

函数说明示例
strlen()返回字符串长度(字节数)strlen("Hello")5
str_word_count()统计单词数量str_word_count("a b c")3
strrev()反转字符串strrev("ab")"ba"
strpos()查找子串首次出现位置,未找到返回 falsestrpos("Hello", "e")1
str_replace()替换字符串中的内容str_replace("world", "PHP", "Hello world!")"Hello PHP!"

整型

整型是不带小数点的数字,支持十进制、十六进制(0x 前缀)和八进制(0 前缀):

<?php
$x = 5985;     // 十进制
$y = -345;     // 负数
$z = 0x8C;     // 十六进制 = 140
$w = 047;      // 八进制 = 39
var_dump($x);  // int(5985)
?>

浮点型

浮点数是有小数点或指数形式的数字:

<?php
$x = 10.365;
$y = 2.4e3;   // 2.4 × 10³ = 2400
$z = 8E-5;    // 8 × 10⁻⁵ = 0.00008
var_dump($x); // float(10.365)
?>

布尔型

布尔型只有两个值:truefalse,常用于条件判断:

<?php
$x = true;
$y = false;
?>

NULL

null 表示变量没有值。以下情况变量被认为 null

  • 被赋值为 null
  • 尚未被赋值
  • unset() 销毁
<?php
$x = "Hello world!";
$x = null;
var_dump($x);  // NULL
?>
var_dump() 是 PHP 调试最常用的函数之一,它会同时输出变量的类型和值。在不确定变量内容时,先 var_dump() 看一眼。

类型转换

PHP 的弱类型特性意味着类型会自动转换,但你也可以手动强制转换:

<?php
// 自动转换
$sum = "5" + 3;   // 字符串 "5" 自动转为整型,结果 8

// 手动转换
$x = (int) "42";     // 强制转为整型 → 42
$y = (string) 123;   // 强制转为字符串 → "123"
$z = (bool) 1;       // 强制转为布尔 → true
?>

一句话小结

PHP 有 8 种原始类型,使用最频繁的是字符串、整型、数组和布尔型。var_dump() 是类型调试利器。关于数组的详细内容,参见 数组。下一篇讲 运算符

最后更新于