循环遍历 PHP 中的关联数组
本文将介绍几种在 PHP 中循环关联数组的方法。我们还将学习如何从数组中获取键。
在 PHP 中使用 foreach
循环来循环关联数组并获取键值
PHP 和其他流行的编程语言中有许多循环语句,如 for
、while
、do...while
、foreach
等。这些不同的循环根据问题的性质使用。
我们可以使用 foreach
循环遍历一个数组。foreach
循环适用于遍历数组的每个元素。
foreach
循环的语法如下所示。
foreach($array as $value){
statements
}
这里,$array
是迭代的数组,$value
是每次迭代中数组的项。
我们还可以在关联数组中使用 foreach
循环来遍历数组的键和值。关联数组是一种数组,它包含数组中每个项目的键值对。
使用 foreach
循环,我们可以获得数组项的键和值。关联数组的 foreach
循环语法如下所示。
foreach($array as $key => $value){
statements
}
这里,$key
是数组项的索引,$value
是项。
以下说明和示例演示了如何遍历关联数组并从数组中获取每个键。
示例代码:
<?php
$age = array("Paul"=>"35", "Brandon"=>"37", "Jack"=>"43");
foreach ($age as $key => $value) {
echo $key."<br>";
}
?>
输出:
Paul
Brandon
Jack
在上面的示例中,我们使用了以下关联数组。
Array ( [Paul] => 35 [Brandon] => 37 [Jack] => 43 )
我们打印了数组的键,即人名。它们可以在上面的输出部分中看到。
在 PHP 中使用 array_keys()
函数和 foreach
循环从关联数组中获取键
PHP 提供了一个函数 array_keys()
从作为参数提供的数组中选择键。然后,我们可以使用 foreach
循环遍历键并将它们全部列出。
array_keys()
函数的语法如下所示。
array_key($array, $search_value)
此函数返回一个键数组。参数 $array
是要从中提取键的数组。
参数 search_value
是一个可选参数,通过它我们可以提取指定特定值的键。
例如,
示例代码:
<?php
$nationality = array("Paul"=>"England", "Brandon"=>"New Zealand", "Jack"=>"Ireland");
$names =array_keys($nationality);
foreach ($names as $name) {
echo $name."<br>";
}
?>
在上面的示例中,$names
数组的输出如下所示。
Array ( [0] => Paul [1] => Brandon [2] => Jack ) Paul
因此,我们获得了一组 $nationality
键。我们使用 foreach
循环遍历这个数组以提取每个项目。
输出如下所示。
输出:
Paul
Brandon
Jack
通过这种方式,我们可以使用 PHP 中的 array_keys()
函数获取数组的键。
在 PHP 中使用带有 for
循环的 array_keys()
函数从关联数组中获取键
第三种方法使用 for
循环模仿第二种方法。for
和 foreach
循环之间的区别在于我们可以在 for
循环中手动指定条件和迭代次数。
我们可以使用 count()
函数计算数组元素的数量以确定迭代次数。array_keys()
函数与第二种方法相同。
在这里,我们将考虑上述方法中使用的相同关联数组。
示例代码:
<?php
$nationality = array("Paul"=>"England", "Brandon"=>"New Zealand", "Jack"=>"Ireland");
$names =array_keys($nationality);
for($i=0; $i<count($names); $i++) {
echo $names[$i]."<br>";
}
?>
输出:
Paul
Brandon
Jack
这样,我们可以使用 for
循环和 array_keys()
从 PHP 中的关联数组中获取键。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341