PHP7实践指南:O2O网站与App后台开发
上QQ阅读APP看书,第一时间看更新

2.1 PHP的数据类型

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

1.字符串

一个字符串是一串字符的序列,比如,“Hello world! ”。你可以将任何文本放在单引号和双引号中作为字符串来使用,例如:

        <? php
        $x="Hello world! ";   // 使用双引号定义一个字符串类型的变量
        echo$x;    //echo输出这个变量,结果为Hello world
        echo "<br>";// 输出换行
        $x='Hello world! ';   // 使用单引号定义字符串
        echo$x;  //输出结果Hello world
        $x=’陈小龙’;   // 汉字也是字符串类型的数据
        echo$x;  // 输出 陈小龙
        ?>

2.整型

整型数据只能包含整数。整型数据的规则是:

● 整型数据必须至少有一个数字(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)。

3.浮点型

浮点型数据即可以用来存储整数,也可以用来存储小数和指数。在以下实例中我们使用浮点型数据来存储小数和指数数值。

        <? 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)

4.布尔型

布尔型数据只有两个,即true和false,是用来表示“是”和“非”两个概念的数据类型。

        $x=true;
        $y=false;

布尔型变量通常用于条件判断语句,在后面的章节中会讲到更多关于条件控制语句的详细内容。

5.数组

数组是一组数据的集合,是将数据按照一定规则组织起来形成的一个整体。数组的本质是存储管理和操作一组变量。按照数组的维度划分,可以有一维数组、二维数组和多维数组。请看以下实例:

        <? 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开始,并以此累加。

6.对象

对象数据类型也可以用于存储数据,在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的值。关于类对象的内容将在后面的章节详细讲解。

7. NULL值

NULL值表示变量没有值。NULL是数据类型为NULL的值,指明一个变量是否为空值,同样可用于数据空值和NULL值的区别。可以通过设置变量值为NULL来清空变量数据。请看如下实例:

        <? php
        $x="Hello world! ";
        $x=null;
        var_dump($x);
        ?>

执行以上代码将会在浏览器中打印NULL。