迴圈遍歷 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