在 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
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341