PHP中的多维数组【附实例】

已发表: 2020-11-24

当我们谈论在 PHP 中存储值时,我们谈论的是单词数组。 要存储多个值,有两种执行任务的方法。 一种方法是将每个值分配给单个变量,另一种更有效的方法是将多个值分配给单个变量。 也就是我们所说的数组。

数组是一种在单个变量中存储多个值的方法。 因此,数组构成了编程社区首选工具的重要组成部分。 数组既可以存储数字值也可以存储字符串值,并且可以具有多个维度。

因此,多维数组在 PHP中称为多维数组,我们将在本文后面通过动手示例详细讨论。

为了更好地了解数组是什么及其维度,让我们看一个例子。

假设你去超市买了一包饼干。 当你打开包装时,饼干一个接一个地排成一排。 这意味着它们以线性方式排列,因此,这是一维数组的示例。

接下来,您考虑购买一包什锦干果。 现在,当您打开包装时,盒子的宽度和长度都有插槽,用于存放不同的干果。 这形成了一个二维数组的示例,其中框表示数组,插槽中的干果构成元素。

阅读: PHP 项目理念和主题

类型和特征

当我们谈论数组时,我们用两个术语来谈论它们——数组是什么类型,它的特征或属性是什么。 数组的类型由它的维度定义。 因此,PHP中有两种类型:一维或一维和多维数组

正如上面示例中已经解释的那样,您一定已经了解了数组的维度。 因此,要访问一个元素是一个一维数组,您只需要一个索引。

但是要在 PHP 中访问多维数组中的元素,您需要两个索引用于二维数组,三个索引用于三维数组,依此类推。 因此,视情况而定,多维数组被定义为数组或子数组的数组。

数组的特征可以分为数值型或关联型。

  • 数值数组是一个数组,它使用数字来访问其存储在数组中的元素。
  • 关联数组使用字符串或名称来访问存储的元素。 例如,员工的姓名可以访问公司注册或服务器中的数据。

以下是定义一维数值数组的语法:

<?php

$variable name = array('index no.' => 'element',...);

?>

在哪里,

'$variable name' 是数组的名称

'索引号' 指存储元素的索引

“元素”是指存储的值

请注意,默认索引号始终以“0”开头。

让我们看一个例子

<?php

//创建一维数值数组的程序

$Car Brands = 数组 ( 0 => 'BMW',

1 => '路虎',

2 => '法拉利',

3 => '福特',

4 => '丰田' );

Print_r($汽车品牌);

?>

输出:

大批

(

[0] => 宝马

[1] => 路虎

[2] => 法拉利

[3] => 福特

[4] => 丰田

)

从输出中我们可以看到,汽车品牌被分配给数字键 0、1、2、……等,并通过数字键访问。

我们来看一个一维关联数组; 以下是相同的语法:

<?php

$variable name = array('string/key' => 'element',...);

?>

在哪里,

'$variable name' 是数组的名称

'string/key' 指的是存储元素的 id

“元素”是指存储的值

这是关联一维数组的示例。 假设我们要存储几个国家的名称和它们所在的大陆。

<?php

$Countries = 数组(

“意大利” => “欧洲”,

“印度” => “亚洲”,

“巴西” => “南美洲”

“墨西哥” => “北美”,

);

echo “墨西哥在”$Countries [“Mexico”];

?>

输出:

墨西哥位于北美洲

现在是时候了解PHP 中的多维数组是如何工作的了。 这是语法。

<?php

$变量名 =array(

Array1('字符串/键' => '元素',...),

Array2('字符串/键' => '元素',...),...

);

?>

我们可以按照组或模式排列数组。 例如,我们可以根据车型的体型来排列车型。 这是一个示例代码。

<?php

$车身样式=数组(

“SUV” => 数组(“天蝎座”、“鹞”、“克里塔”、“塞尔托斯”、“财神”),

“掀背车” => 数组(“斯威夫特”、“爵士”、“蒂亚戈”、“i20”)'

“MPV” => 数组(“Ertiga”、“Innova”、“Triber”)

);

Echo $车身样式[“SUV”][3];

?>

输出:

克里塔

让我们通过在前面的示例中添加销售数据来快速创建一个 3 维数组。

<?php

$车身样式=数组(

“SUV” => 数组(

“天蝎座” => 数组(“1 月 20 日” =>“4521”,“2 月 20 日” => “3589”),

“鹞” => 数组(“1 月 20 日” =>“1987”,“2 月 20”=> “2356”),

“Creta” => 数组(“1 月 20 日” => “10459”,“2 月 20 日” => “9887”),

“Seltos” => 数组(“1 月 20 日” => “12549”,“2 月 20 日” => “13589”),

“Fortuner” => 数组(“1 月 20 日” => “1897”,“2 月 20” => “1692”),

),

“掀背车” => 数组(

“斯威夫特” => 数组(“1 月 20 日” =>“19875”,“2 月 20” => “18521”),

“爵士乐” => 数组(“1 月 20 日” =>“2451”,“2 月 20 日”=> “2390”),

“Tiago” => 数组(“1 月 20 日” => “6587”,“2 月 20 日” => “8850”),

),

“MPV” => 数组(

“Ertiga” => 数组(“1 月 20 日” =>“5680”,“2 月 20 日” => “4920”),

“Innova” => 数组(“1 月 20 日” =>“2540”,“2 月 20 日”=> “2135”)

);

Echo “1 月 20 日 Creta 的销量为” $Car body styles[“SUV”][“Creta”][“Jan20”];

?>

输出:

1 月 20 日 Creta 的汽车销量为 10459

必读: PHP 面试问答

结论

因此,我们可以得出结论,数组是一种高效且灵活的数据存储和访问形式。 数组可以根据需要进行拉伸或压缩,便于修改。 关联多维数组帮助我们将相关数据组合在一起。 除此之外,数组有助于实现整洁和干净的代码。 另外,您可以对数组执行许多操作,例如排序、计数等。

如果您有兴趣了解有关 PHP、全栈软件开发的更多信息,请查看 upGrad 和 IIIT-B 的全栈软件开发 PG 文凭,该文凭专为工作专业人士设计,提供 500 多个小时的严格培训、9 个以上的项目和任务、IIIT-B 校友身份、实用的实践顶点项目和顶级公司的工作协助。

成为全栈开发人员

升级和 IIIT-BANGALORE 的 PG 文凭在全栈软件开发中
了解更多