返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >本文将介绍PHP中的数据类型
  • 749
分享到

本文将介绍PHP中的数据类型

php开发语言 2023-09-04 19:09:48 749人浏览 八月长安
摘要

引言 在PHP中,与所有编程语言一样,数据类型用于对特定类型的数据进行分类。这一点很重要,因为你使用的特定数据类型将决定你可以给它赋什么值,可以对它做什么操作(包括可以对它执行什么操作)。 在本教程中

引言

PHP中,与所有编程语言一样,数据类型用于对特定类型的数据进行分类。这一点很重要,因为你使用的特定数据类型将决定你可以给它赋什么值,可以对它做什么操作(包括可以对它执行什么操作)。

在本教程中,我们将介绍php原生的重要数据类型。这不是对数据类型的详尽研究,但将帮助您熟悉PHP中可用的选项。

理解数据类型的一种方法是考虑我们在现实世界中使用的不同类型的数据。两种不同的类型是数字和单词。这两种数据类型以不同的方式工作。我们将添加3 + 4来得到7,而我们将结合单词starfish来得到starfish

如果我们开始相互评估不同的数据类型,例如数字和单词,事情开始变得不那么有意义。例如,下面的等式就没有明显的答案:'sky' + 8

对于计算机来说,每种数据类型都可以被认为是不同的,就像单词和数字一样,因此我们必须小心使用它们赋值以及通过操作操作它们。

使用的数据类型

PHP是一种**松散类型(loosely typed)**语言。这意味着,默认情况下,如果值与预期数据类型不匹配,PHP将尝试尽可能更改错误数据类型的值以匹配预期类型。这被称为类型杂耍。例如,一个函数期望一个string,但它接收的是一个值为2integer,它会将传入的值更改为预期的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数据类型可以是两个值之一,truefalse。布尔值用于表示与数学逻辑分支相关的真值。

声明布尔值时不能使用引号;引号中的任何内容都被假定为字符串。PHP在声明布尔值时不关心大小写;TrueTrueTrueTrue的值都是相同的。如果你遵循PHP-FIG的样式指南,值应该全部小写为truefalse

许多数学运算的结果要么为True,要么为False:

  • 大于
    • 500 > 100 True
    • 1 > 5 False
  • 小于
    • 200 < 400 True
    • 4 < 2 False
  • 等于
    • 5 = 5 True
    • 500 = 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,我们将收到以下输出:

Output1bool(true)true

echo行将布尔值true转换为字符串1var_dump输出变量类型bool以及值truevar_export输出值为true的字符串表示。

随着你用PHP编写的程序越来越多,你将越来越熟悉布尔值的工作原理,以及求值为TrueFalse的不同函数和操作如何改变程序的进程。

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 *是一种将值关联或“映射”到键的数据类型。这种数据类型有很多不同的用途。它可以被视为arraylisthash tabledictionarycollection等。此外,因为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_exportvar_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显示了一个索引数组,其中的数值键在03之间。每个数字key对应一个字符串value。第一个元素的键为0,值为sharkvar_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

猜你喜欢
  • 本文将介绍PHP中的数据类型
    引言 在PHP中,与所有编程语言一样,数据类型用于对特定类型的数据进行分类。这一点很重要,因为你使用的特定数据类型将决定你可以给它赋什么值,可以对它做什么操作(包括可以对它执行什么操作)。 在本教程中...
    99+
    2023-09-04
    php 开发语言
  • Python中的基本数据类型介绍
    Python 中主要有8种数据类型:number(数字)、string(字符串)、list(列表)、tuple(元组)、dict(字典)、set(集合)、Boolean(布尔值)、N...
    99+
    2024-04-02
  • python基本数据类型的介绍
    int(整型)在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-922337203685...
    99+
    2023-01-31
    数据类型 python
  • JavaScript中的数据类型介绍
    一、基本数据类型(原始值类型) 基本类型:字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。 基本类...
    99+
    2024-04-02
  • 数据类型介绍
    目录 什么是数据类型?(掌握) 为何对数据分类?(掌握) 不同数据类型(掌握) 首先让我们回顾变量是什么:变量用来记录世...
    99+
    2023-01-31
    数据类型
  • 关于java中基本数据类型与引用数据类型的介绍
    一、基本数据类型byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0int:整型,用于存储整...
    99+
    2015-04-05
    java入门 java 基本数据类型 引用数据类型
  • MySQL的数据类型介绍
    由于Mysql独有的特性和实现细节对性能的影响是很明显的,因为做好Mysql数据库的设计很关键。对于数据库设计,我们不得不提表字段的类型选择,由于Mysql支持的数据类型非常多,因此如何选择正确的数据类型对...
    99+
    2024-04-02
  • java基本数据类型和包装类介绍
    这篇文章主要介绍“java基本数据类型和包装类介绍”,在日常操作中,相信很多人在java基本数据类型和包装类介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java基本数据类型和包装类介绍”的疑惑有所帮助!...
    99+
    2023-06-03
  • C#中数据类型的转换介绍
    目录1、parse转换:将string类型转化为其他类型2、任意类型转化为string类型3、隐式转换:自动转换-->小范围到大范围自动转换4、显示转换:强制转换-->由...
    99+
    2024-04-02
  • Python中数据类型的详细介绍
    这篇文章主要讲解了“Python中数据类型的详细介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中数据类型的详细介绍”吧!目录1、字符串2、布尔类型3、整数4、浮点数5、数字6...
    99+
    2023-06-02
  • 3、MySQL的数据类型介绍
    上一章节内容主要介绍了一些MySQL中对表和库的增删改查操作,对于上一章中对与表中字段的一些定义进行说明,本章主要介绍关于数据库类型的一些定义。一、概述:MySQL数据库中的数据大致可以分为以下几类,从而实现数据库在操作的时候对不同类型的处...
    99+
    2023-01-31
    数据类型 MySQL
  • SQL Server数据类型介绍
    简单整理几个常用的SQL server 数据类型的描述,以便查阅。 ...
    99+
    2024-04-02
  • redis缓存的数据类型介绍
    这期内容当中的小编将会给大家带来有关redis缓存的数据类型介绍,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Redis缓存数据类型有5种,分别是String(字符串)、List(列表...
    99+
    2024-04-02
  • C++抽象数据类型介绍
    公众号:Coder梁(ID:Coder_LT) 我们在学数据结构的时候,经常遇到的一个概念就是抽象数据类型(Abstract Data Type),简称ADT。 维基百科中的定义是:...
    99+
    2024-04-02
  • 简单介绍Python中的几种数据类型
    大体上把Python中的数据类型分为如下几类: Number(数字) 包括int,long,float,complex String(字符串) 例如:hello,"he...
    99+
    2022-06-04
    几种 数据类型 简单
  • redis数据类型strings的详细介绍
    本篇内容主要讲解“redis数据类型strings的详细介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“redis数据类型strings的详细介绍”吧!1.&...
    99+
    2024-04-02
  • Oracle数据库常用数据类型介绍
    Oracle数据库是一种常用的关系型数据库管理系统,它支持多种数据类型以满足不同的需求。在使用Oracle数据库时,了解数据库的数据类型是非常重要的。本文将介绍Oracle数据库中常用...
    99+
    2024-03-08
    数据类型 oracle 常用
  • Python中的数据类型的相关操作介绍
    本篇内容主要讲解“Python中的数据类型的相关操作介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中的数据类型的相关操作介绍”吧!1-1 Python中的数据类型一、整数Pyth...
    99+
    2023-06-02
  • MySQL CHAR和VARCHAR数据类型介绍
    CHAR类型是固定长度的,长度范围为0到255。如果存储的值不覆盖字段长度,存储数据的其他的部分会在值的右边自动添加空格。 VARCHAR字段中的值是可变长度的字符串,长度范围为0到65535。VARC...
    99+
    2024-04-02
  • PHP字符串函数的弱类型介绍
    这篇文章主要讲解了“PHP字符串函数的弱类型介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP字符串函数的弱类型介绍”吧!PHP字符串函数弱类型PHP是弱类型语言,所以其它类型的数据一...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作