引言 在PHP中,与所有编程语言一样,数据类型用于对特定类型的数据进行分类。这一点很重要,因为你使用的特定数据类型将决定你可以给它赋什么值,可以对它做什么操作(包括可以对它执行什么操作)。 在本教程中
在PHP中,与所有编程语言一样,数据类型用于对特定类型的数据进行分类。这一点很重要,因为你使用的特定数据类型将决定你可以给它赋什么值,可以对它做什么操作(包括可以对它执行什么操作)。
在本教程中,我们将介绍php原生的重要数据类型。这不是对数据类型的详尽研究,但将帮助您熟悉PHP中可用的选项。
理解数据类型的一种方法是考虑我们在现实世界中使用的不同类型的数据。两种不同的类型是数字和单词。这两种数据类型以不同的方式工作。我们将添加3 + 4
来得到7
,而我们将结合单词star
和fish
来得到starfish
。
如果我们开始相互评估不同的数据类型,例如数字和单词,事情开始变得不那么有意义。例如,下面的等式就没有明显的答案:'sky' + 8
对于计算机来说,每种数据类型都可以被认为是不同的,就像单词和数字一样,因此我们必须小心使用它们赋值以及通过操作操作它们。
PHP是一种**松散类型(loosely typed)**语言。这意味着,默认情况下,如果值与预期数据类型不匹配,PHP将尝试尽可能更改错误数据类型的值以匹配预期类型。这被称为类型杂耍。例如,一个函数期望一个string
,但它接收的是一个值为2
的integer
,它会将传入的值更改为预期的string
类型,值为"2"
。
我们可以并且鼓励在每个文件的基础上启用严格模式。这在您控制的代码中提供了数据类型的强制执行,同时允许使用可能不遵守严格数据类型的额外代码包。严格类型在文件开头声明:
declare(strict_types=1);...
在严格模式下,只有与类型声明完全对应的值才会被接受;否则将抛出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:
True
False
True
False
True
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,我们将收到以下输出:
Output1bool(true)true
echo
行将布尔值true
转换为字符串1
。var_dump
输出变量类型bool
以及值true
。var_export
输出值为true
的字符串表示。
随着你用PHP编写的程序越来越多,你将越来越熟悉布尔值的工作原理,以及求值为True
或False
的不同函数和操作如何改变程序的进程。
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_VALUEThe value must be between 1 and 10
此时,您应该对PHP中可用的一些主要数据类型有了更好的了解。当您使用PHP语言开发编程项目时,这些数据类型中的每一种都将变得很重要。
来源地址:https://blog.csdn.net/QIU176161650/article/details/132450614
--结束END--
本文标题: 本文将介绍PHP中的数据类型
本文链接: https://lsjlt.com/news/394162.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0