在 PHP 中的多维数组中使用 Foreach 循环

Subodh Poudel 2023年1月30日
  1. 在 PHP 中使用 foreach 循环访问多维数组的元素
  2. 在 PHP 中使用嵌套的 foreach 循环访问多维数组的元素
在 PHP 中的多维数组中使用 Foreach 循环

本教程将介绍 PHP 中的多维数组。我们还将学习在多维数组中使用 foreach 循环。

在 PHP 中使用 foreach 循环访问多维数组的元素

多维数组在数组中包含一个或多个数组。

一个数组可以是二维的,也可以是三维的,并且可以有更多的维度。数组的复杂性随着维数的增加而增加,数组的管理难度很大。

我们需要两个索引来访问二维数组和三个索引来访问三维数组。在本文中,我们将讨论二维数组。

下面的代码示例创建一个二维数组。

$bikes = array (
 array("CRF300L",28,19.5),
 array("CBR600RR",70,33),
 array("KTM390 ",40,10)
 );

输出:

Array
(
 [0] => Array
 (
 [0] => CRF300L
 [1] => 28
 [2] => 19.5
 )

 [1] => Array
 (
 [0] => CBR600RR
 [1] => 70
 [2] => 33
 )

 [2] => Array
 (
 [0] => KTM390 
 [1] => 40
 [2] => 10
 )
)

上面的输出显示了 $bikes 数组的内容。

我们可以看到数组是数字索引的。我们可以利用 foreach 循环来访问数组元素。

foreach 循环是一个特殊的循环,它只对数组起作用。众所周知,该数组包含一对键和值; foreach 循环用于循环遍历数组的键/值对。

foreach 循环的语法如下所示。

foreach($array as $element){
 // statements
}

foreach 循环中,$element 变量将包含每次迭代的当前数组项的值。循环一直持续到数组中的最后一个元素。

在二维数组的情况下,我们可以使用 foreach 循环在第一次迭代中访问第一个嵌套数组,依此类推。

例如,编写 foreach 循环,其中数组是我们在上面创建的 $bikes。将元素写为 $bike,如下例所示。

在循环内部,使用 echo 使用 $bike 变量上的索引显示嵌套数组的内容。使用索引为 $bike[0]$bike[1]$bike[2]

示例如下所示。

foreach ($bikes as $bike){
 echo $bike[0]."<br>";
 echo $bike[1]."<br>";
 echo $bike[2]."<br>";
 echo "<br>";
}

输出:

CRF300L
28
19.5

CBR600RR
70
33

KTM390
40
10

这样,我们可以使用 foreach 循环来访问多维数组的元素。

在 PHP 中使用嵌套的 foreach 循环访问多维数组的元素

在这个方法中,我们将讨论如何使用嵌套的 foreach 循环访问二维数组的元素。我们可以在数组中的键/值对上使用 foreach 循环。

它的语法如下所示。

foreach($array as $key=>value){
 // statements
}

通过这种方式,我们可以使用 foreach 循环访问数组中每个元素的键和值。

我们可以创建一个嵌套的 foreach 循环来访问二维数组中的所有键/值对。我们将使用上面创建的数组来演示此方法。

例如,编写 $bikes 变量是数组的 foreach 循环。将 $number 变量设置为键,将 $bike 变量设置为值。

接下来,在刚刚创建的循环中编写另一个 foreach 循环。在嵌套循环中,将 $bike 变量写入一个数组,并将 $num$value 设置为键和值。

在嵌套循环中,打印变量 $num$number$value,如下例所示。因此,我们可以使用嵌套的 foreach 循环来访问 PHP 中多维数组的元素。

示例代码:

foreach($bikes as $number => $bike)
 {
 foreach($bike as $num => $value)
 {
 print "Index ".$num." of ".$number." indexed array contains " .$value. "<br>";
 }
 }

输出:

Index 0 of 0 indexed array contains CRF300L
Index 1 of 0 indexed array contains 28
Index 2 of 0 indexed array contains 19.5
Index 0 of 1 indexed array contains CBR600RR
Index 1 of 1 indexed array contains 70
Index 2 of 1 indexed array contains 33
Index 0 of 2 indexed array contains KTM390
Index 1 of 2 indexed array contains 40
Index 2 of 2 indexed array contains 10
作者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

相关文章 - PHP Array

相关文章 - PHP Loop