![PHP7实践指南:O2O网站与App后台开发](https://wfqqreader-1252317822.image.myqcloud.com/cover/728/26943728/b_26943728.jpg)
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。