本章我们将讨论数据类型,计算机程序可以处理数据,用于各种数据类型的工具是现代计算机语言的基本组成部分。
PHP 数据类型列表
PHP 具有八种数据类型:
标量类型
- 布尔值
- 整数
- 浮动
- 串
复合类型
- 数组
- 宾语
特殊类型
- 资源
- 空值
与 Java,C 或 Visual Basic 等语言不同,PHP 中没有提供变量的显式类型定义。 变量的类型在运行时由 PHP 确定。 如果我们将字符串分配给变量,它将变成字符串变量。 稍后,如果我们分配一个整数值,该变量将成为一个整数变量。
PHP 布尔值
我们的世界建立了双重性。 有天与地,水与火,井与章,男人与女人,爱与恨。 在 PHP 中,布尔数据类型是具有以下两个值之一的原始数据类型:True
或False
。 这是基本的数据类型。
快乐的父母正在等待孩子的出生。 他们为两种可能性都选择了名称。 如果要成为男孩,他们选择了约翰。 如果要成为女孩,他们会选择维多利亚。
kid.php
该脚本使用随机整数生成器来模拟我们的情况。
rand()
函数从给定的整数边界返回一个随机数。 在我们的情况下为 0 或 1。
我们使用三元运算符设置$male
变量。 该变量基于随机$r
值。 如果$r
等于 1,则$male
变量设置为 True。 如果$r
等于 0,则$male
变量设置为 False。
我们打印名称。 if 命令适用于布尔值。 如果变量$ male 为 True,则将“我们将使用名称 John”打印到控制台。 如果其值为 False,我们将打印另一个字符串。
该脚本运行了几次。
以下脚本显示了一些视为 True 或 False 的常见值。 例如,空字符串,空数组,0 被认为是 False。
boolean.php
在此脚本中,我们在布尔上下文中检查一些值。 var_dump()
功能显示有关变量的信息。 (bool)
构建体称为 Casting。 在它的临时上下文中,0 值是一个数字。 在布尔上下文中,它为 False。 布尔上下文是当我们使用(布尔)强制转换,何时使用某些运算符(否定,比较运算符)以及何时使用 if / else,while 关键字时。
这是脚本的结果。
PHP 整数
整数是实数的子集。 它们写时没有小数或小数部分。 整数落在集合 Z = {…,-2,-1,0,1,2,…}中。 整数是无限的。
在许多计算机语言中,整数是原始数据类型。 实际上,计算机只能使用整数值的子集,因为计算机的容量有限。 整数用于计算离散实体。 我们可以有 3、4、6 个人,但不能有 3.33 个人。 我们可以有 3.33 公斤。
在 PHP 中,可以使用四种不同的表示法指定整数:十进制,十六进制,八进制和二进制。 八进制值以0
开头,十六进制以0x
开头,二进制以0b
开头。
notation.php
我们定义了四个变量; 它们每个都有不同的整数符号。
默认符号是十进制。 脚本以十进制打印这四个数字。
PHP 中的整数具有固定的最大大小。 整数的大小取决于平台。 PHP 具有内置常量,可显示整数的最大大小。
在我的 64 位 Ubuntu Linux 系统上,整数值为 8 个字节。 最大值是 9223372036854775807。
在 Java 和 C 中,如果整数值大于允许的最大值,则发生整数溢出。 PHP 的工作方式不同。 在 PHP 中,整数变为浮点数。 浮点数具有更大的边界。
boundary.php
我们为$var
变量分配一个最大整数值。 我们将变量增加一。 var_dump()
函数转储有关给定变量的信息。
如前所述,在内部,数字成为浮点值。
在 Java 中,增加后的值为-2147483648。 这是整数溢出一词的来历。 该数字超过顶部并成为可分配给变量的最小负整数值。
如果我们使用整数,那么我们将处理离散实体。 例如,我们将使用整数来计算苹果。
apples.php
在脚本中,我们计算了苹果的总量。 我们使用乘法运算。
脚本的输出。
PHP 浮点数
浮点数表示计算中的实数。 实数测量连续的数量,例如重量,高度或速度。 PHP 中的浮点数可以大于整数,并且可以具有小数点。 浮标的大小取决于平台。
我们可以使用各种语法来创建浮点值。
floats.php
在此示例中,我们有两种表示法的情况,科学家使用它们来表示浮点值。 另外$d
变量被分配了一个大数字,因此它会自动转换为浮点型。
这是上述脚本的示例输出。
根据文档,不应对浮点数进行相等性测试。 我们将举例说明为什么。
在此示例中,我们比较了两个看起来相同的值,但是它们产生了意外的结果。
假设一个短跑运动员跑了 100 m,跑了 9.87 s。 他的公里/小时速度是多少?
sprinter.php
在此示例中,必须使用浮点值。
为了获得速度,我们将距离除以时间。
这是 sprinter 脚本的输出。 36.474164133739 是浮点数。
通常需要舍入浮点数。
rounding.php
In this example, it is necessary to use floating point values.
使用round()
函数,将浮点值四舍五入到两个和三个位置。
或者,我们也可以使用sprintf()
函数,该函数根据指定的格式化字符串对字符串进行格式化。
这是rounding.php
脚本的输出。
PHP 字符串
字符串是一种数据类型,表示计算机程序中的文本数据。
由于字符串在每种编程语言中都非常重要,因此我们将为它们专门整整一章。 在这里,我们仅举一个小例子。
strings.php
我们可以使用单引号和双引号来创建字符串文字。
该脚本将两个字符串输出到控制台。 \n
是一个特殊的序列,换行。 此字符的效果就像在键入文本时按 Enter 键一样。
PHP 数组
数组是处理元素集合的复杂数据类型。 每个元素都可以通过索引访问。 在 PHP 中,数组更为复杂。 数组可以视为数组,列表或字典。 换句话说,数组在其他语言中都是我们所谓的数组,列表,字典。
由于集合在所有计算机语言中都非常重要,因此我们将两章专门介绍集合-数组。 这里我们仅显示一个小例子。
arrays.php
使用速记符号创建一个数组,在此使用方括号。 数组的元素用逗号分隔。 元素是字符串。 print_r()
函数将有关变量的人类可读信息打印到控制台。
这是脚本的输出。 这些数字是指数,我们可以通过它们访问数组元素。
PHP 对象
到目前为止,我们一直在讨论内置数据类型。 对象是用户定义的数据类型。 程序员可以创建适合其域的数据类型。 在有关面向对象的程序设计(OOP)的一章中,有关对象的更多信息。
PHP 资源
资源是特殊的数据类型。 他们拥有对外部资源的引用。 它们是由特殊功能创建的。 资源是打开文件,数据库连接或图像画布区域的处理程序。
PHP NULL
还有另一种特殊的数据类型-NULL
。 基本上,数据类型表示不存在,未知或为空。
在 PHP 中,在三种情况下,变量为 NULL:
- 它没有分配值
- 它被分配了一个特殊的 NULL 常量
- 它是用 unset()函数取消设置的
nulltype.php
在我们的示例中,我们有四个变量。 其中三个被认为是 NULL。 我们使用is_null()
函数来确定变量是否为 NULL。
这是脚本的结果。
PHP 类型转换
我们经常一次处理多种数据类型。 将一种数据类型转换为另一种数据类型是编程中的常见工作。 类型转换或类型转换是指将一种数据类型的实体更改为另一种。 有两种转换类型:隐式转换和显式转换。 隐式类型转换,也称为强制转换,是编译器自动进行的类型转换。
在上面的示例中,我们有两个隐式类型转换的示例。 在第一个语句中,字符串将转换为整数并添加到第二个操作数。 如果两个操作数中的任何一个都是浮点数,则两个操作数都将被评估为浮点数,结果将是一个浮点数。
当我们使用诸如(boolean)
之类的强制转换构造时,会发生显式转换。
此代码段显示了实际的强制转换。 首先,我们将浮点值分配给变量。 稍后我们将其转换为整数,字符串,最后转换为布尔数据类型。