首页 > PHP 阅读:31

PHP数据类型大全

PHP 数据类型是指对数据的抽象描述,比如“整型数据”就是对所有整数数字的抽象。PHP 的数据类型包括 String(字符串)、Integer(整型)、Float(浮点型)、Boolean(布尔型)、Array(数组)、Object(对象)、NULL(空值)7 种,本节介绍这些数据类型的定义和使用。

字符串

一个字符串是一串字符的序列,比如,“Hello world!”。你可以将任何文本放在单引号和双引号中作为字符串来使用,例如:
<?php
$x = "Hello world!";  // 使用双引号定义一个字符串类型的变量
echo $x;  // echo 输出这个变量, 结果为 Hello world
echo "<br>";  // 输出换行
$x = 'Hello world!';  // 使用单引号定义字符串
 echo $x;  // 输出结果 Hello world
$x = '陈小龙';  // 汉字也是字符串类型的数据
echo $x;  // 输出 陈小龙
?>

整型

整型数据只能包含整数。整型数据的规则是:
  • 整型数据必须至少有一个数字(0~9)。
  • 整型数据不能包含逗号或空格。
  • 整型数据没有小数点。
  • 整型数据可以是正数或负数。
整型数据可以用 3 种格式来指定,即十进制、十六进制(以 0x 为前缀)和八进制(前缀为 0)。

在以下实例中我们将测试不同的整型数据。这里使用了 PHP 的 var_dump() 函数,该函数可返回变量的数据类型和值。
<?php
$x = 5985;  // 定义一个整型数据类型的变量
var_dump($x);  // 输出此变量
echo "<br>";
$x = -345;
var_dump($x);    
echo "<br>";
$x = 0x8C;  //十六进制数字
var_dump($x);  
echo "<br>";
$x = 047;  //八进制数字
var_dump($x);
?>
以上代码在PHP 5中将输出如下结果:
int(5985)
int(-345)
int(140)
int(39)
注意,在PHP 7版本中,含有十六进制字符的字符串不再被视为数字,而是当作普通的字符串,例如:
<?php
var_dump("0x123" == "291");
var_dump(is_numeric("0x123"));
var_dump("0xe" + "0x1");
?>
在 PHP 5 中将会输出结果:bool(true)bool(true)int(15)。在 PHP 7 中结果将是:bool(false)bool(false)int(0)。

浮点型

浮点型数据既可以用来存储整数,也可以用来存储小数和指数。在以下实例中我们使用浮点型数据来存储小数和指数数值。
<?php
$x = 10.365;
var_dump($x);
$x = 2.4e3;
var_dump($x);
$x = 8E-5;
var_dump($x);
?>
执行代码的输出结果为:
float(10.365) float(2400) float(8.0E-5)

布尔型

布尔型数据只有两个,即 True 和 False,是用来表示“是”和“非”两个概念的数据类型。
$x=true;
$y=false;

数组

数组是一组数据的集合,是将数据按照一定规则组织起来形成的一个整体。数组的本质是存储管理和操作一组变量。按照数组的维度划分,可以有一维数组、二维数组和多维数组。请看以下实例:
<?php
$cars=array("Volvo","BMW" => array('Z4','X7') ,"Toyota");
var_dump($cars);
?>
浏览器打印结果如下:
array(3) { [0]=> string(5) "Volvo" ["BMW"]=> array(2) { [0]=> string(2) "Z4" [1]=> string(2) "X7" } [1]=> string(6) "Toyota" }
$cars 数组的元素中包含字符串和子数组,var_dump() 将数组以键值对的形式输出。在输出的结果中可以看到,如果没有赋予某个数组值索引,数组将会默认索引从数字 0 开始,并以此累加。

对象

对象数据类型也可以用于存储数据。在PHP中,对象必须声明。首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。然后在类中定义数据类型,在实例化的类中使用数据类型。实例如下:
<?php
class Car  //使用class声明一个类对象
{
    var $color;
    function set_color($color="green") {
        $this->color = $color;
    }
    function get_color() {
        return $this->color;
    }
}
$car = new Car();
$car->set_color('red');
echo $car->get_color();
?>
在以上代码中,使用 class 声明一个类对象,该类对象中拥有 set_color() 和 get_color() 两个方法,分别可以设置类对象的属性 $color 的值和读取 $color 的值。

NULL 值

NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值,指明一个变量是否为空值。同样可用于数据空值和 NULL 值的区别。可以通过设置变量值为 NULL 来清空变量数据,请看下面的实例:
<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>
执行以上代码将会在浏览器打印 NULL。