兰州手机网站,郴州网站,如何注销网站,wordpress仿商城引言
在PHP中#xff0c;与所有编程语言一样#xff0c;数据类型用于对特定类型的数据进行分类。这一点很重要#xff0c;因为你使用的特定数据类型将决定你可以给它赋什么值#xff0c;可以对它做什么操作(包括可以对它执行什么操作)。
在本教程中#xff0c;我们将介绍…引言
在PHP中与所有编程语言一样数据类型用于对特定类型的数据进行分类。这一点很重要因为你使用的特定数据类型将决定你可以给它赋什么值可以对它做什么操作(包括可以对它执行什么操作)。
在本教程中我们将介绍PHP原生的重要数据类型。这不是对数据类型的详尽研究但将帮助您熟悉PHP中可用的选项。
理解数据类型的一种方法是考虑我们在现实世界中使用的不同类型的数据。两种不同的类型是数字和单词。这两种数据类型以不同的方式工作。我们将添加3 4来得到7而我们将结合单词star和fish来得到starfish。
如果我们开始相互评估不同的数据类型例如数字和单词事情开始变得不那么有意义。例如下面的等式就没有明显的答案:sky 8
对于计算机来说每种数据类型都可以被认为是不同的就像单词和数字一样因此我们必须小心使用它们赋值以及通过操作操作它们。
使用的数据类型
PHP是一种**松散类型(loosely typed)**语言。这意味着默认情况下如果值与预期数据类型不匹配PHP将尝试尽可能更改错误数据类型的值以匹配预期类型。这被称为类型杂耍。例如一个函数期望一个string但它接收的是一个值为2的integer它会将传入的值更改为预期的string类型值为2。
我们可以并且鼓励在每个文件的基础上启用严格模式。这在您控制的代码中提供了数据类型的强制执行同时允许使用可能不遵守严格数据类型的额外代码包。严格类型在文件开头声明
?php
declare(strict_types1);
...在严格模式下只有与类型声明完全对应的值才会被接受;否则将抛出TypeError。这个规则唯一的例外是int值将传递一个float类型声明。
数字类型
在PHP中输入的任何数字都将被解释为数字。您不需要声明所输入的数据类型。PHP将把任何没有小数的数字视为整数(例如138)任何有小数的数字视为浮点数(例如138.0)。
整数
与数学一样计算机编程中的整数是整数可以是正、负或0。整数也可以被称为int。与其他编程语言一样你不应该在四位或四位以上的数字中使用逗号因此要在程序中表示数字1000就把它写成1000。
可以像下面这样在控制台中打印一个整数
echo -25;这将输出
Output-25我们也可以声明一个* 变量 *在这种情况下它是我们正在使用或操作的数字的符号如下所示
$my_int -25;
echo $my_int;这将输出
Output-25我们也可以在PHP中使用整数进行数学运算
$int_ans 116 - 68;
echo $int_ans;这将输出
Output48在PHP程序中可以以多种方式使用整数随着您继续了解有关该语言的更多信息您将有很多机会使用整数并更多地了解此数据类型。
浮点数
浮点数 或 浮点数 *是实数这意味着它可以是有理数或无理数。因此浮点数可以是包含小数部分的数字例如9.0或-116.42。考虑到PHP程序中的float它是一个包含小数点的数字。
像处理整数一样可以像下面这样打印一个浮点数
echo 17.3;这将输出
Output17.3还可以声明一个变量来表示浮点数如下所示
$my_flt 17.3;
echo $my_flt;这将输出
Output17.3而且就像整数一样我们也可以在PHP中使用浮点数进行数学运算
$flt_ans 564.0 365.24;
echo $flt_ans;这将输出
Output929.24对于整数和浮点数重要的是要记住3不等于3.0因为3指的是整数而3.0指的是浮点数。这可能会改变程序运行的方式也可能不会。 数字在计算、计算物品或金钱以及计算时间时很有用。
字符串
字符串是由一个或多个字符组成的序列可以由字母、数字或符号组成。这个序列包含在单引号或双引号中
echo This is a 47 character string in single quotes.
echo This is a 47 character string in double quotes.两行代码都以相同的方式输出它们的值
OutputThis is a 47 character string in single quotes.
This is a 47 character string in double quotes.你可以选择使用单引号或双引号但无论你选择哪种都应该在程序中保持一致。 程序“Hello, World!”演示了如何在计算机编程中使用字符串如组成短语Hello, World!都是字符串
echo Hello, World!;与其他数据类型一样我们可以将字符串存储在变量中并输出结果
$hw Hello, World!
echo $hw;无论哪种方式输出都是一样的
OutputHello, World!和数字一样我们可以在程序中对字符串执行许多操作以便通过操作它们来达到我们想要的结果。字符串对于向用户传递信息很重要对于用户将信息返回给程序也很重要。
布尔值
布尔(Boolean)或bool数据类型可以是两个值之一true或false。布尔值用于表示与数学逻辑分支相关的真值。
声明布尔值时不能使用引号;引号中的任何内容都被假定为字符串。PHP在声明布尔值时不关心大小写;True、True、True和True的值都是相同的。如果你遵循PHP-FIG的样式指南值应该全部小写为true或false。
许多数学运算的结果要么为True要么为False
大于 500 100 True1 5 False 小于 200 400 True4 2 False 等于 5 5 True500 400 False
和其他数据类型一样我们可以将布尔值存储在变量中。与数字或字符串不同echo不能用于输出值因为布尔值true会被转换为字符串1而布尔值false会被转换为(空字符串)。这允许“类型杂耍”(type juggling)在布尔值和字符串值之间来回转换。要输出布尔值我们有几个选项。要输出变量的类型和值我们使用var_dump。要输出变量值的字符串形式我们使用var_export
$my_bool 4 3;
echo $my_bool;
var_dump($my_bool);
var_export($my_bool);由于4大于3我们将收到以下输出
Output1
bool(true)
trueecho行将布尔值true转换为字符串1。var_dump输出变量类型bool以及值true。var_export输出值为true的字符串表示。
随着你用PHP编写的程序越来越多你将越来越熟悉布尔值的工作原理以及求值为True或False的不同函数和操作如何改变程序的进程。
NULL
NULL *类型表示没有值。它为变量预留空间。这允许PHP知道一个变量但仍然认为它未设置。NULL类型唯一可能的值是不区分大小写的null。当PHP试图访问一个未声明的变量时它将抛出警告
echo $name;它会警告变量没有被设置但代码继续处理
OutputPHP Warning: Undefined variable $name防止这种警告的一种常见方法是使用isset函数检查该变量是否已设置
if (isset($name)) {echo $name;
}这将完全跳过不会抛出任何警告。防止这种类型错误的第二种方法是为变量设置占位符值例如空字符串
$name ;
echo Hello .$name;这将显示没有名字的Hello因为$name的值是一个空字符串
OutputHello 这两种解决方案都是有效和有用的。然而当将$name的值设置为空字符串时该值实际上被设置了
$name ;
if (isset($name)) {echo Hello .$name;
}这也将显示没有名字的Hello因为$name的值被设置为空字符串
OutputHello 与大多数挑战一样有多种解决方案。一个解决方案是将变量设置为null值。这将为该变量保留空间并防止PHP抛出错误但仍然认为该变量“未设置”
$name null;
echo $name;
if (isset($name)) {echo Hello .$name;
}这个变量已经被“声明”了所以当echo试图访问这个变量时不会报错。它也不会显示任何东西因为没有值。条件也会被判定为false因为$name变量没有被设置。
我们可以使用var_dump来查看PHP如何计算NULL变量
$name null;
var_dump($name);这表明类型为NULL
OutputNULL 与其他变量类型相比NULL不太常见但经常用作执行某个操作但没有返回值的函数的返回类型。
数组
PHP中的数组实际上是一个有序映射。* map *是一种将值关联或“映射”到键的数据类型。这种数据类型有很多不同的用途。它可以被视为array、list、hash table、dictionary、collection等。此外因为PHP中的数组值也可以是其他数组所以可以使用多维数组。
索引数组
在最简单的形式中数组将具有一个数字索引或key。如果不指定键PHP将自动为您生成下一个数字键。默认情况下数组的键是0索引的这意味着第一个键是0而不是1。数组中的每个元素或值也可以称为* *项(item) * *。
数组有两种定义方式。第一种是使用array()语言结构它使用逗号分隔的项目列表。一个整数数组可以这样定义
array(-3, -2, -1, 0, 1, 2, 3)第二种也是更常见的定义数组的方式是使用方括号[]的短数组语法。浮点数数组可以这样定义
[3.14, 9.23, 111.11, 312.12, 1.05]我们还可以定义一个字符串数组并将数组赋值给一个变量如下所示
$sea_creatures [shark, cuttlefish, squid, mantis shrimp];同样我们不能使用echo输出整个数组但我们可以使用var_export或var_dump
var_export($sea_creatures);
var_dump($sea_creatures);输出表明这个数组使用了数字key
Outputarray (0 shark,1 cuttlefish,2 squid,3 mantis shrimp,
)
array(4) {[0]string(5) shark[1]string(10) cuttlefish[2]string(5) squid[3]string(13) mantis shrimp
}因为数组是0索引的所以var_dump显示了一个索引数组其中的数值键在0到3之间。每个数字key对应一个字符串value。第一个元素的键为0值为shark。var_dump函数为我们提供了关于数组的更多细节:数组中有4项第一项的值是一个长度为5的字符串。
可以在设置值时指定索引数组的数字键。然而在使用命名键时键通常是指定的。
关联数组
关联数组是带有命名键的数组。它们通常用于保存相关的数据例如ID中包含的信息。关联数组如下所示
[name Sammy, animal shark, color blue, location ocean]**注意**双箭头运算符用于分隔字符串。左边的单词是键。键可以是整数也可以是字符串。钥匙在前面的数组是:name, animal, color, location。
右边的单词是值。值可以由任何数据类型组成包括数组。前面的数组中的值是:Sammy, shark, blue, ocean。
与索引数组一样让我们将关联数组存储在一个变量中并输出详细信息
$sammy [name Sammy, animal shark, color blue, location ocean];
var_dump($sammy);结果将描述这个数组有4个元素。每个键对应的字符串都是给定的但只有值指定了类型string并包含字符数
Outputarray(4) {[name]string(5) Sammy[animal]string(5) shark[color]string(4) blue[location]string(5) ocean
}关联数组允许我们更精确地访问单个元素。如果想分离萨米的颜色可以在数组变量后面添加包含键名的方括号
echo $sammy[color];输出结果如下
Outputblue由于数组为存储数据提供了键值映射因此它们可以成为PHP程序中的重要元素。
常量
虽然常量实际上不是一个单独的数据类型但它的工作方式与其他数据类型不同。顾名思义常量是只声明一次的变量之后在整个应用程序中都不会更改。常量的名称应该始终是大写的并且不能以美元符号开头。常量可以使用define函数或const关键字声明
define(MIN_VALUE, 1);
const MAX_VALUE 10;define函数有两个参数:第一个是包含常量名称的string第二个是要赋值的值。这可以是前面解释过的任何数据类型值。const关键字允许常量以与其他数据类型相同的方式赋值使用单个等于号。在应用程序中可以像使用其他变量一样使用常量只是它们不会被放在双引号字符串中解释
echo The value must be between MIN_VALUE and MAX_VALUE;
echo The value must be between .MIN_VALUE. and .MAX_VALUE;因为这些常量是不解释的所以输出是不同的
OutputThe value must be between MIN_VALUE and MAX_VALUE
The value must be between 1 and 10总结
此时您应该对PHP中可用的一些主要数据类型有了更好的了解。当您使用PHP语言开发编程项目时这些数据类型中的每一种都将变得很重要。