大道PHP
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2 掌握PHP的数据类型

PHP的数据类型

PHP语言中的数据类型可划分为3类:基本数据类型、复合数据类型及特殊数据类型。各种数据类型包括内容如表2-1所示。

表2-1 PHP数据类型分类

下面我们将对PHP中各个数据类型的用法进行详细介绍。

2.2.1 基本数据类型

1.整型(integer)

PHP中的整型指的是不包含小数部分的数据。在32位的操作系统中,整型数据的有效范围在“-2147483648”至“+2147483647”之间。整型数据可以用十进制数(基数为10)、八进制数(基数为8,以0作为前缀)或十六进制数(基数为16,以0x作为前缀)表示,并且可以包含“+”和“-”。整型数据的用法如下面代码所示:

      <?php
      $a=100;                                     //十进制整型数据
      $b=-034;                                    //八进制整型数据
      $c=0xBF;                                    //十六进制整型数据
      ?>

Note

如果给定的数字超出了整型数据规定的范围,会产生数据溢出。对于这种情况,PHP会自动将整型数据转化为浮点型数据。

2.浮点型(float)

浮点型数据就是通常所说的实数,可分为单精度浮点型及双精度浮点型。浮点数主要用于简单整数无法满足的形式,比如长度、重量等数据的表示。浮点型数据的用法如下面代码所示:

      <?php
      $a = 1.0;
      $b = 3.1415;
      $c=1.2E2;                         //该浮点数表示1.2*10²
      ?>

3.布尔型(boolean)

布尔型数据是从PHP 4开始出现的,一个布尔型的数据只有“true”和“false”两种取值,分别对应了逻辑“真”与逻辑“假”。布尔型数据的用法如下面代码所示;

      <?php
      $a = TRUE;
      $b = FALSE;
      ?>

Note

在使用布尔型数据类型时,“true”和“false”两个取值是不区分大小写的,也就是说“TRUE”和“FALSE”同样也是正确的。

4.字符串(string)

字符串是一个字符的序列。组成字符串的字符是任意的,可以是字母、数字或者符号。在PHP中没有对字符串的最大长度进行严格规定。在PHP中定义字符串有3种方式:使用单引号、使用双引号和使用定界符。下面是一个使用字符串的例子:

代码2-4光盘\codes\第2章\2.2\zifuchuan.php

      <?php
      echo'It\'s a computer!!!<br>';                       //使用单引号定义
      echo'show me a\\<br>';                               //使用单引号定义并且转义
      $var="这是一个字符串";                                 //使用双引号定义
      echo<<<END                                          //使用定界符定义
          在这里我们可以加入任意的文本信息内容,比如"中国",
          比如'奥运'。所有的双引号和单引号都会被正常显示。
      END
      ?>

上面程序执行后的结果如图2-4所示。

图2-4 使用字符串的例子

Note

为了便于读者快速了解字符串,这里只给出了一个最基本的字符串应用,在本书第5章中将会给出PHP字符串应用的详细讲解。

2.2.2 复合数据类型

1.数组(array)

数组是一系列相关的数据,以某种特定的方式进行排列而组成的集合。组成这个集合的各个数据可以是基本数据类型的,也可以是复合数据类型的;可以是相同数据类型的,也可以是不同数据类型的。

数组里的每一个数据元素都有其唯一的编号,称为索引。索引用于指定数组中特定的数据元素。在有些编程语言中数组的索引必须是数字,而在PHP中,索引既可以是数字,也可以是字符串。一个简单的PHP数组应用示例代码如下:

代码2-5光盘\codes\第2章\2.2\shuzu.php

      <?php
      $number[0]="zero";
      $number[1]="one";
      $number[2]="two";
      $number["three"]=3;
      echo $number[1];
      echo $number["three"];
      ?>

该程序被执行时,得到结果如图2-5所示。

图2-5 数组的简单应用

Note

为了便于读者快速认识数组,这里只给出了一个PHP数组最基本的应用。实际上在开发过程中数组是一个非常重要的元素,会经常被用到。我们将在本书第4章中给出PHP数组用法及应用的详细讲解。

2.对象(object)

对象是面向对象编程方式中的一个核心概念,对象就是类的一个实例。在了解对象之前先简单介绍一下什么是“类”。在面向对象编程方式中,人们把各个具体事物的共性特征抽取出来,形成一个一般的概念,也就构成了一个“类”。在PHP中类的定义方式如下:

      class类名 {
          类里包含的内容;
      }

前面已经说过,对象是类的一个实例,在PHP中是通过“new”关键字来实例化一个对象的。类和对象的应用示例如下面代码所示:

代码2-6光盘\codes\第2章\2.2\duixiang.php

      <?php
      class Book{                    //定义一个书的类,该类包含一个方法用于返回书名
      function getBookName($book_name){
      return $book_name;
      }
      }
      $book1=new Book();             //实例化一个Book类的对象book1
      echo $book1->getBookName("PHP")."<br>";
      $book2=new Book();             //实例化一个Book类的对象book2
      echo $book2->getBookName("JSP");
      ?>

该程序被执行时,得到的结果如图2-6所示。

图2-6 对象的应用

Note

看了上面例子中的代码,部分没有接触过面向对象语言的读者肯定会感到迷惑。不用担心,我们将会在本书第7章中对面向对象语言的特点及PHP中的应用进行详细讲解。

2.2.3 特殊数据类型

1.NULL

NULL是PHP 4开始引入的一个特殊的数据类型,这种数据类型只有一个值——NULL。在PHP中,如果变量满足如下几种情况,那么该变量的值就为NULL。

● 变量未被赋予任何值。

● 变量被赋值为NULL。

● 被unset()函数处理后的变量。

关于NULL数据类型的使用,如下面代码所示:

      <?php
      $a;                                   //变量$a未被赋予任何值,$a的值为NULL
      $b=NULL;                              //变量$b被赋值为NULL
      $c = 1;
      unset($c);                            //使用unset()函数处理后,$c的值为NULL
      ?>

2.资源

资源是PHP的另外一种特殊数据类型,该数据类型用于表示一个PHP的外部资源,比如,一个数据库的访问操作,或者一个网络流的处理等。虽然资源也是一种数据类型,但是我们却不能直接对其进行操作。PHP提供了一些特定的函数,用于建立和使用资源。比如,mysql_connect()函数用于建立一个MySQL数据的连接,而fopen()函数用于打开一个文件等。应用资源数据类型的示例代码如下所示:

代码2-7光盘\codes\第2章\2.2\ziyuan.php

      <?php
      $connect=mysql_connect();                   //调用mysql_connect()建立MySQL数据库连接
      echo get_resource_type($connect)."<br>";  //调用get_resource_type()显示这个资源类型
      $fopen=fopen("ziyuan.php","r");             //调用fopen()打开文件ziyuan.php
      echo get_resource_type($fopen);             //调用get_resource_type()显示这个资源类型
      ?>

如果读者电脑中已经安装并开启了MySQL数据库的服务,运行上面程序时,得到的运行结果如图2-7所示。

图2-7 资源的应用