学习任何编程语言最重要的部分之一是了解可用的数据类型,以及如何在该语言中存储、访问和操作数据。在 PHP 中,可以使用变量来存储不同类型的数据。 PHP 支持以下数据类型:

数据类型描述
整数-2,147,483,648 和 2,147,483,647 之间的非十进制数。
双精度数浮点数,如 10.5。
布尔值两个可能的值,true 或 false。
NULL是一种特殊类型,仅具有一个值:NULL。
字符串用于存储文本或字符序列,例如"这是一个字符串"。
数组是其他值的命名和索引集合。
对象是程序员的实例-定义的类,可以打包特定于该类的其他类型的值和函数。
资源是保存引用的特殊变量PHP 外部的资源(例如数据库连接)。

数组、对象和资源数据类型将在本教程的后面部分讨论。在本节中,我们将讨论 PHP 的其余数据类型。

PHP 整数

整数是没有任何小数值的整数,例如 545。它可以是正数或负数。考虑下面的示例:

<?php
$x = 1000;
$y = -3;
$z = $x * $y;

echo $z;
?> 

上述代码的输出将是:

-3000 

整数可以是十进制(基数 10)、八进制(基数 8)和十六进制(基数) 16)格式。十进制格式是默认格式,八进制整数以 0 指定,十六进制以 0x 指定。对于大多数常见平台,整数数据类型的范围是 -2,147,483,648 和 2,147,483,647。

PHP 双精度数

双精度数是浮点数,例如 10.5。默认情况下,双精度数以所需的最小小数位数打印。考虑下面的示例:

<?php
$x = 10.555500;
$y = 25.34450000;
$z = $x + $y;

echo "$x + $y = $z";
?> 

上述代码的输出将是:

10.5555 + 25.3445 = 35.9 

PHP 布尔值

布尔值有两个可能的值:true 或 false。可以通过将 TRUE / FALSE 分配给变量来创建布尔值。除此之外,它也是使用比较运算符时的常用返回类型。考虑下面的示例:

<?php
$x = 50;

//条件语句返回TRUE
if($x > 10) 
  echo "$x 大于 10.\n"; 
else
  echo "$x 小于 10.\n";
?> 

上述代码的输出将是:

50 大于 10. 

将其他类型解释为布尔值

当在布尔值中使用其他类型时上下文中需要记住以下几点:

  • 除零之外的所有数字均为真。零为 false。
  • 除了空字符串(零个字符)和"0"为 false 之外,所有字符串均为 true。
  • NULL 类型的值始终为 false。
  • 如果数组为空,则为 false,否则为 true。
  • 从既没有子项也没有属性的元素创建的 SimpleXML 对象为 false,否则为 true。

PHP NULL

NULL 是 PHP 中的一种特殊数据类型,只有一个值 NULL。要给变量赋予 NULL 值,只需这样分配:

$var = NULL; 

特殊常量 NULL 按照惯例大写,但实际上它不区分大小写,也可以写为:

$var = null; 

已分配 NULL 的变量具有以下属性:

  • 在布尔上下文中计算结果为 FALSE。
  • 使用 IsSet() 函数测试时返回 FALSE。

PHP 字符串

字符串是 PHP 中最常见的数据类型之一。它用于存储文本。字符串可以是单引号或双引号内的任何文本。考虑下面的示例:

<?php
$x = "HELLO WORLD!.";
$y = 'Hello World!.';

echo $x."\n";
echo $y;
?> 

上述代码的输出将是:

HELLO WORLD!.
Hello World!. 

字符串中的特殊字符

反斜杠 \ 转义符 用于将双引号、换行符等特殊字符转换为字符串字符。下表描述了 PHP 中的特殊字符:

转义字符结果示例
\"""\"Hello\"" 转换为:"Hello"
\$$"\$50" 转换为:$50
\\\"A\\C" 已转换进入:A\C
\n新行"Hello\ nJohn" 转换为:
Hello
John
\tTab"Hello\tMarry" 转换为:Hello    Marry
\r回车"Hello\rJohn" 转换为:
Hello
John