使用 Foreach 迴圈迭代 PHP 中的關聯陣列


PHP:PHP(超文字預處理器)是一種廣泛使用的開源伺服器端指令碼語言,專門用於 Web 開發。它最初由 Rasmus Lerdorf 於 1994 年建立,此後發展成為一種強大的語言,被全球數百萬人開發者使用。

PHP 主要用於開發動態網頁和 Web 應用程式。它允許開發者在 HTML 中嵌入 PHP 程式碼,從而輕鬆地將伺服器端邏輯與表示層混合。PHP 指令碼在伺服器上執行,生成的 HTML 傳送到客戶端的瀏覽器。

在 PHP 中,您可以使用 foreach 迴圈迭代關聯陣列。以下是一些實現此目的的不同方法

  • 使用鍵和值進行迭代

  • 僅使用值進行迭代

  • 使用引用進行迭代

  • 使用陣列函式進行迭代

使用鍵和值進行迭代

以下是在 PHP 中使用鍵和值方法迭代關聯陣列的示例

<?php
$array = array(
   'key1' => 'value1',
   'key2' => 'value2',
   'key3' => 'value3'
);

foreach ($array as $key => $value) {
   echo "Key: $key, Value: $value
"; } ?>

輸出

Key: key1, Value: value1
Key: key2, Value: value2
Key: key3, Value: value3

在此示例中,foreach 迴圈迭代關聯陣列 $array 中的每個元素。 $key 變數儲存當前鍵, $value 變數儲存對應的值。在迴圈內,您可以使用鍵值對執行任何所需的運算。在本例中,我們只是為每次迭代回顯鍵和值。

僅使用值進行迭代

以下是在 PHP 中使用僅值方法迭代關聯陣列的示例

<?php
$array = array(
   'key1' => 'value1',
   'key2' => 'value2',
   'key3' => 'value3'
);

foreach ($array as $value) {
   echo "Value: $value
";} ?>

輸出

Value: value1
Value: value2
Value: value3

在此示例中,foreach 迴圈迭代關聯陣列 $array 中的每個元素。 $value 變數儲存每次迭代對應的值。在迴圈內,您可以使用值執行任何所需的運算。在本例中,我們只是為每次迭代回顯值。

使用引用進行迭代

以下是在 PHP 中使用引用迭代關聯陣列的示例

<?php
$array = array(
   'key1' => 'value1',
   'key2' => 'value2',
   'key3' => 'value3'
);

foreach ($array as &$value) {
   // Modify the value directly
   $value = 'modified';
}

// Display the modified array
foreach ($array as $key => $value) {
   echo "Key: $key, Value: $value
"; } ?>

輸出

Key: key1, Value: modified
Key: key2, Value: modified
Key: key3, Value: modified

在此示例中,foreach 迴圈使用引用 & $value 迭代關聯陣列 $array 中的每個元素。透過使用引用,在迴圈內對 $value 進行的任何修改都會直接影響原始陣列中的對應元素。在本例中,我們將每個值修改為“modified”。

迴圈結束後,我們迭代修改後的陣列以顯示更新的鍵值對。

請注意,在 foreach 迴圈中 $value 變數前使用 & 符號對於透過引用進行迭代至關重要。

使用陣列函式進行迭代

以下是在 PHP 中使用陣列函式迭代關聯陣列的示例

<?php   
$array = array(
   'key1' => 'value1',
   'key2' => 'value2',
   'key3' => 'value3'
);

// Get the keys and values separately using array functions
$keys = array_keys($array);
$values = array_values($array);

// Iterate over the array using the index
$count = count($array);
for ($i = 0; $i < $count; $i++) {
   $key = $keys[$i];
   $value = $values[$i];
   echo "Key: $key, Value: $value
"; } ?>

輸出

Key: key1, Value: value1
Key: key2, Value: value2
Key: key3, Value: value3

在此示例中,我們使用兩個陣列函式 array_keys() 和 array_values() 來獲取包含關聯陣列的鍵和值的單獨陣列。

然後,我們使用帶有索引變數 ($i) 的傳統 for 迴圈來迭代鍵和值的陣列。我們分別使用 $keys[$i] 和 $values[$i] 在每個索引處檢索對應的鍵和值。

在迴圈內,您可以使用鍵值對執行任何所需的運算。在本例中,我們只是為每次迭代回顯鍵和值。

請注意,此方法依賴於使用各自的陣列維護鍵和值的順序。如果修改原始關聯陣列,鍵和值陣列的順序可能不匹配,從而導致錯誤的結果。

結論

在 PHP 中,使用 foreach 迴圈是迭代關聯陣列的一種方便且直接的方法。您可以選擇最適合您需求的方法。方法 1 允許您訪問鍵和值,而方法 2 和方法 3 分別側重於分別迭代值或鍵。

更新於: 2023 年 8 月 1 日

642 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.