PHP 数据类型

在本教程中,你将了解 PHP 中可用的数据类型。

PHP 中的数据类型

分配给 PHP 变量的值可以是不同的数据类型,包括简单的字符串和数字类型,以及更复杂的数据类型,如数组和对象。

PHP 支持总共八种原始数据类型:整数,浮点数或浮点数,字符串,布尔值,数组,对象,资源和 NULL。这些数据类型用于构造变量。现在让我们详细讨论它们中的每一个。

PHP 整数

整数可以用十进制(基数 10),十六进制(基数 16 - 前缀 0x)或八进制(基数 8 - 前缀 0)表示法指定,数字前面可以带有符号(-+)。

<?php
$a = 123; // decimal number
var_dump($a);
echo "<br>";
 
$b = -123; // a negative number
var_dump($b);
echo "<br>";
 
$c = 0x1A; // hexadecimal number
var_dump($c);
echo "<br>";
 
$d = 0123; // octal number
var_dump($d);
?>

注意: 从 PHP 5.4+开始,你还可以使用二进制(基数 2)表示法指定整数。使用二进制表示法在数字前面加上 0b(例如 $var = 0b11111111;)。

PHP 字符串

字符串是字符序列,其中每个字符与字节相同。

字符串可以包含字母,数字和特殊字符,最大可达 2GB(最大 2147483647 字节)。指定字符串的最简单方法是将其用单引号括起来(例如’Hello world!’),但是你也可以使用双引号(“Hello world!”)。

<?php
$a = 'Hello world!';
echo $a;
echo "<br>";
 
$b = "Hello world!";
echo $b;
echo "<br>";
 
$c = 'Stay here, I\'ll be back.';
echo $c;
?>

你将在 PHP Strings 教程中了解有关字符串的更多信息。

PHP 浮点数或双精度浮点数

浮点数(也称为“浮点数”,“双精度浮点数”)是十进制或小数,如下例所示。

<?php
$a = 1.234;
var_dump($a);
echo "<br>";
 
$b = 10.2e3;
var_dump($b);
echo "<br>";
 
$c = 4E-10;
var_dump($c);
?>

PHP 布尔值

布尔值就像一个开关,它只有两个可能的值 1 (true)或 0 (false)。

<?php
// Assign the value TRUE to a variable
$show_error = true;
var_dump($show_error);
?>

PHP 数组

数组是可以包含多个值的变量。将一系列相关元素汇总在一起很有用,例如一组国家或城市名称。

数组被正式定义为数据值的索引集合。数组的每个索引(也称为键)都是唯一的,并引用相应的值。

<?php
$colors = array("Red", "Green", "Blue");
var_dump($colors);
echo "<br>";
 
$color_codes = array(
    "Red" => "#ff0000",
    "Green" => "#00ff00",
    "Blue" => "#0000ff"
);
var_dump($color_codes);
?>

你将在 PHP Array 教程中了解有关数组的更多信息。

PHP 对象

对象是一种数据类型,它不仅允许存储数据,还包含有关如何处理该数据的信息。对象是类的特定实例,用作对象的模板。通过 new 关键字基于此模板创建对象。

每个对象都具有与其父类相对应的属性和方法。每个对象实例都是完全独立的,具有自己的属性和方法,因此可以独立于同一类的其他对象进行操作。

这是一个简单的类定义示例,后面是对象创建。

<?php
// Class definition
class greeting{
    // properties
    public $str = "Hello World!";
    
    // methods
    function show_greeting(){
        return $this->str;
    }
}
 
// Create object from class
$message = new greeting;
var_dump($message);
?>

提示: 存储在对象中的数据元素称为其属性,信息或描述如何处理数据的代码称为对象的方法。

PHP NULL

特殊的 NULL 值用于表示 PHP 中的空变量。NULL 类型的变量是没有任何数据的变量。NULL 是 null 类型唯一可能的值。

<?php
$a = NULL;
var_dump($a);
echo "<br>";
 
$b = "Hello World!";
$b = NULL;
var_dump($b);
?>

当在 PHP 中创建没有值的变量比如 $var; 时,它会自动赋值为 null。许多新手 PHP 开发人员错误地认为这两个 $var1 = NULL;$var2 = ""; 是相同的,但事实却并非如此。两个变量不同 - $var1 具有空值,而不 $var2 表示没有赋值。

PHP 资源

资源 resource 是一个特殊变量,包含对外部资源的引用。

资源变量通常包含打开的文件和数据库连接的特殊处理程序。

<?php
// Open a file for reading
$handle = fopen("note.txt", "r");
var_dump($handle);
echo "<br>";
 
// Connect to MySQL database server with default setting
$link = mysql_connect("localhost", "root", "");
var_dump($link);
?>