php数组分为哪两种

php数组分为哪两种

在我们关于 PHP 的系列文章的第二部分中,我们将深入研究数组的使用。

什么是数组?

数组是具有相关数字索引或位置的元素的集合。 数组用于将多个值存储在单个变量中,使其更易于管理和操作。

PHP 中有两种类型的数组:索引数组和关联数组。

索引数组是其中索引为数字的数组,并在将元素添加到数组时自动生成。 这些数组就是我们在其他编程语言中也称为数组的东西。 例如:

/* *即使此数组包含以 1 开头的数字,第一个位置始终为 0。 因此 $numbers 将为 1,$numbers 将为 6 */ $numeros = [1, 2, 3, 4, 5, 6];

另一方面,关联数组是那些索引是关联键的数组,不一定限于整数。 例如:

$diasDeLaSemana = [ 'L' => 'Lunes', 'M' => 'Martes', 'X' => 'Miércoles', 'J' => 'Jueves', 'V' => 'Viernes', 'S' => 'Sábado', 'D' => 'Domingo' ]; // 虽然我们在这里使用字符串作为键,但访问的方式是一样的。 echo $diasDeLaSemana['X']; // > Miércoles

在上面的示例中,我们创建了一个包含星期几的数组,但我们没有使用整数作为键,而是使用它们的缩写。 这类似于 Java Map 或 Python Dictionary。

在 PHP 中显示数组

一旦我们知道了如何创建数组,了解如何显示它们的内容就很重要了。

如果您尝试过,就会发现无法回显数组,这是因为回显语句旨在接收字符串。

echo $diasDeLaSemana; // > Warning: Array to string conversion in X.php on line Y

通常我们不想显示整个数组,只显示它的值,但是,有时我们可能需要显示数组以查看它包含的内容,因为 PHP 为我们提供了两个函数:print_r 和 var_dump。

print_r 函数以人类可读的形式显示数组的内容,而 var_dump 显示有关数组的详细信息,例如其类型和长度。 例如:

print_r($diasDeLaSemana); /* Array ( => Lunes => Martes => Miércoles => Jueves => Viernes => Sábado => Domingo ) */

正如我们所见,print_r 使我们能够快速查看数组,并以我们易于理解的方式格式化。

var_dump($diasDeLaSemana); /* array(7) { ["L"]=> string(5) "Lunes" ["M"]=> string(6) "Martes" ["X"]=> string(10) "Miércoles" ["J"]=> string(6) "Jueves" ["V"]=> string(7) "Viernes" ["S"]=> string(7) "Sábado" ["D"]=> string(7) "Domingo" } */

就其本身而言,var_dump 为我们提供了数组的更详细视图,包括其每个索引中包含的数据类型。

重要提示:var_dump 支持任何类型的变量,因此它是一个非常有用的函数,用于识别变量的类型和内容。

在 PHP 中使用数组的函数

PHP 提供了大量用于处理数组的函数。 一些最著名的是:

  • count():返回数组中元素的数量。
  • array_keys():返回一个包含给定数组所有键的数组。
  • array_values():返回一个包含给定数组所有值的数组。
  • sort():按升序对数组的元素进行排序。
  • rsort():按降序对数组的元素进行排序。

例如:

echo count($diasDeLaSemana); // > 7 print_r(array_keys($diasDeLaSemana)); /* Array ( => L => M => X => J => V => S => D ) */ print_r(sort($diasDeLaSemana)); /* * 该数组已按其值的字母顺序排序。 Array ( => Domingo => Jueves => Lunes => Martes => Miércoles => Sábado => Viernes ) */

这一切都很好但是……我如何遍历我的数组?

这个问题有一个简单的答案:使用 for,就像我们在 Java 中所做的那样,现在,使用普通的 for 我们可以遍历索引数组。 对于关联数组,我们有更好的东西:foreach。

foreach 允许您以简单的方式遍历数组。 它类似于 for 和 while 循环,但专门设计用于处理数组。

foreach ($diasDeLaSemana as $clave => $valor) { echo $clave . ": " . $valor . PHP_EOL; } /* L: Lunes M: Martes X: Miércoles J: Jueves V: Viernes S: Sábado D: Domingo */ /* * 注意:PHP_EOL(PHP END OF LINE) 在末尾引入一个换行符 */

在此示例中,foreach 循环遍历 $daysOfWeek 数组,并在每次迭代中将键的值分配给变量 $key,将元素的值分配给变量 $value。 然后,键和对应的值显示在屏幕上。

可能是我们不需要密钥的情况,在这种情况下,我们可以省略它:

foreach ($diasDeLaSemana as $valor) { echo $valor . PHP_EOL; } /* Lunes Martes Miércoles Jueves Viernes Sábado Domingo */

结束

同样,请记住,阅读以上所有内容不会直接让您成为数组的至高无上的魔法师,现在轮到您练习本文中看到的所有内容,寻找更多与数组一起使用的函数(有),找到更多循环遍历数组(有数组),并手动修改所有内容,直到您弄清楚为止。

本文【php数组分为哪两种】由作者: 递归 提供,本站不拥有所有权,只提供储存服务,如有侵权,联系删除!
本文链接:https://www.cuoshuo.com/blog/4242.html

(0)
上一篇 2023-03-11 08:43:17
下一篇 2023-03-11 08:54:07

相关推荐

  • 高级程序员是什么职称

    计算机专业中级职称有哪些?那些高级软件工程师职称是怎么来的? 一、计算机专业中级职称考试可以考: 1、计算机软件专业:软件评测师、软件设计师、软件过程能力评估师 2、计算机网络专业:网络工程师 3、计算机应用技术专业:多媒体应用设计师、嵌入式系统设计师、计算机辅助设计师、电子商务设计师 4、信息系统专业:系统集成项目管理工程师、信息系统监理师、数据库系统工程…

    2023-03-12
    300
  • sql数据库入门

    一起来学SQL基础知识! 一、SQL基础与DDL 1.1 SQL的概述 SQL全称: Structured Query Language,结构化查询语言,用于访问和处理数据库的标准的计算机语言。 SQL语言1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统SystemR上实现。 经过多年发展,SQL已成为数据库领域统一的…

    2023-03-08
    800
  • 百度dns域名,百度dns是多少服务器是多少

    一、域名系统概述 域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址。域名系统其实就是名字系统。为什么不叫“名字”而叫“域名”呢?这是因为在这种因特网的命名系统中使用了许多的“域(domain)”,因此就出现了“域名”这个名词。“域名系统”明确地指明这种系统是应用在因特网中。 二、常见的…

    2023-03-18
    100
  • php连接mysql数据库四步

    PHP和MySQL是目前特别流行的一种Web应用开发方式,例如wordpress。印象中PHP支持使用很多种数据库,而且MySQL就有mysql、mysqli、pdo三种API可用。本文旨在从PHP数据库访问设计的思路为轴,简单的捋清这些关系。 原文:https://segmentfault.com/a/1190000005026781 PHP手册中《数据库…

    2023-03-16
    200
  • photoshop cs8.01教程 photoshopcs6安装教程

    【Photoshop CS6︱全套详细入门笔记及安装方法】无论是摄影迷,美术迷,还是漫画迷,学会PS,就可以设计制作自己的海报、日历、漫画、艺术照……让生活更加丰富多彩。超详细PS学习笔记及安装方法↓↓入门无压力,从此P图不求人。转发学习! →_→via@微课堂

    2023-03-19
    100
  • scanf字符串不用&数组_c语言用scanf给一维数组赋值

    一、知识点回顾总结。 (一)、一维数组,二维数组。 首先,明确数组的定义:数组是一组具有相同类型的变量的集合。数组包含数组名和数组的下标,数组的每个数据项叫做属于元素。定义格式为:(一维数组)数组类型 数组名; (二维数组)数组类型 数组名。一维数组表示的是一行数据,而二维数组表示的是一个数据表格。注意:1.定义数组时,元素个数一定为常量。2.C语言中数组的…

    2023-03-09
    600
  • 用代码编写一套祝福语,最简单的祝福语一句话

    用Python画一个生日蛋糕并写上生日祝福对象及生日祝福语。画一个双层蛋糕并点上蜡烛。代码运行时间较长,请静待惊喜出现,代码运行截图: 完整程序代码: 干货主要有: ① 200 多本 Python 电子书(和经典的书籍)应该有 ② Python标准库资料(最全中文版) ③ 项目源码(四五十个有趣且可靠的练手项目及源码) ④ Python基础入门、爬虫、网络开…

    2023-03-18
    100
  • shell编程入门

    Shell脚本编程难,难于上青天!这话不假,尤其很多程序员新人,学了几个月Shell脚本写得还是一塌糊涂,但闻道有先后,术业有专攻,他人能学好Shell脚本编程只是因为比我们早些接触而已。 作为一名优秀的程序员,懂得Shell脚本是基本功,要想后续站得更稳,这个基本功必须得打牢。 今天给大家分享从基础到进阶的Shell脚本编程,共两册,适合不同学习进度的朋友…

    2023-03-09
    2700
  • gamma校正曲线函数

    伽马校正也称为伽马变换,或幂次变换。伽马校正主要用于图像的校正,将漂白的图像或者是过黑的图像进行修正。伽马校正也常用于显示屏的校正,这是一个非常常用的变换,其所用的公式如下所示: 上式中C是常数,s是输入像素值,t是变换之后像素值,γ是幂次变换的指数值。若数字图像的值归一化到[0,1],则其输出的值也在[0,1]范围内。对于不同的伽马值,其对应的变换曲线如下…

    2023-03-21
    000
  • c语言scanf输入浮点型_double类型用scanf输入

    程序是人机交互的媒介,有输出必然也有输入,我们开始讲解如何从键盘输入数据。在C语言中,有多个函数可以从键盘获得用户输入: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据。 getchar()、getche()、getch():这三个函数都用于输入单个字符。 gets():获取一行数据,并作为字符串处理。 scanf() 是…

    2023-03-08
    800

发表回复

登录后才能评论
返回顶部
错说博客上线啦!