在 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
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 foreach 迴圈中的第一次和最後一次迭代
- 如何在 PHP 中將陣列轉換為字串
- 如何在 PHP 中獲取陣列的第一個元素
- 如何在 PHP 中回顯或列印陣列
- 如何從 PHP 中的陣列中刪除元素
- 如何在 PHP 中刪除空陣列元素