循环遍历 PHP 中的关联数组

Subodh Poudel 2023年1月30日
  1. 在 PHP 中使用 foreach 循环来循环关联数组并获取键值
  2. 在 PHP 中使用 array_keys() 函数和 foreach 循环从关联数组中获取键
  3. 在 PHP 中使用带有 for 循环的 array_keys() 函数从关联数组中获取键
循环遍历 PHP 中的关联数组

本文将介绍几种在 PHP 中循环关联数组的方法。我们还将学习如何从数组中获取键。

在 PHP 中使用 foreach 循环来循环关联数组并获取键值

PHP 和其他流行的编程语言中有许多循环语句,如 forwhiledo...whileforeach 等。这些不同的循环根据问题的性质使用。

我们可以使用 foreach 循环遍历一个数组。foreach 循环适用于遍历数组的每个元素。

foreach 循环的语法如下所示。

foreach($array as $value){
    statements
}

这里,$array 是迭代的数组,$value 是每次迭代中数组的项。

我们还可以在关联数组中使用 foreach 循环来遍历数组的键和值。关联数组是一种数组,它包含数组中每个项目的键值对。

使用 foreach 循环,我们可以获得数组项的键和值。关联数组的 foreach 循环语法如下所示。

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

这里,$key 是数组项的索引,$value 是项。

以下说明和示例演示了如何遍历关联数组并从数组中获取每个键。

  • 创建一个关联数组 $age,以人的姓名和年龄作为键和值。
  • 接下来,使用 foreach 循环,其中 $age 是数组,$key$value 是键值对,如 foreach ($age as $key => $value)
  • 使用循环内的 echo 函数来打印 $key

示例代码:

<?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 是一个可选参数,通过它我们可以提取指定特定值的键。

例如,

  • 考虑一个具有以下键值对的关联数组 $nationality
    Array ( [Paul] => England [Brandon] => New Zealand [Jack] => Ireland )
    
  • 创建一个变量 $names 并将 array_keys() 函数分配给它,并将 $nationality 作为函数的参数。
  • 接下来,使用 foreach 循环遍历 $names 数组。
  • 在循环内,用 $name 值打印 $names 数组的每个项目。

示例代码:

<?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 循环模仿第二种方法。forforeach 循环之间的区别在于我们可以在 for 循环中手动指定条件和迭代次数。

我们可以使用 count() 函数计算数组元素的数量以确定迭代次数。array_keys() 函数与第二种方法相同。

在这里,我们将考虑上述方法中使用的相同关联数组。

  • array_keys() 函数应用于数组后,创建一个 for 循环。
  • 使用 count() 函数计算 $names 数组的长度。
  • 使用长度来指定 for 循环的结束条件。
  • 从计数器 0 开始循环。
  • 使用 $i 变量对其进行初始化。
  • for 循环中用 1 增加变量 $i
  • 在循环内部,使用 $names 数组中的索引 $i 打印每个项目。

示例代码:

<?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 中的关联数组中获取键。

作者: 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