陣列(array)是一種資料結構,和其他變數一樣,都佔有一塊儲存資料的記憶體空間。
每個陣列元素都搭配一個資料索引,我們可以透過這個索引值來指定陣列中的某個元素。
注意:有n個元素的陣列的第一個元素為array[0],最後一個元素為array[n-1]。
假如今天我想要宣告一個字串陣列來儲存多個名字,宣告方式如下:
$nameList = ['John', 'Christine', 'Teddy', 'Grace'];
$i = 0; //以$i為$nameList這個陣列的索引值
while($i<count($nameList)){ //count():陣列長度
echo "Name:".$nameList[$i]."\n";
$i++;
}
/* Output :
Name: John
Name: Christine
Name: Teddy
Name: Grace */
而數字陣列的宣告方式也一樣。
假如我想宣告一個分數列表來儲存幾位同學的分數,宣告方式如下:
$scores = [77, 93, 82, 56];
$i = 0;
while($i<count($scores)){
echo $scores[$i]." ";
$i++;
}
//Output:77 93 82 56
PHP的陣列儲存內容可以是單一的Value,也可以是Key和Value的搭配。
除了整數之外,也可以用字串來當作索引值。
例如:
$scores['John'] = 77;
$scores['Christine'] = 93;
$scores['Teddy'] = 82;
$scores['Grace'] = 56;
echo $scores['John']." ";
echo $scores['Christine']." ";
echo $scores['Teddy']." ";
echo $scores['Grace'];
//Output:77 93 82 56
這時就要來介紹foreach的用法了,他可以很方便地用來索引陣列資料結構裡的元素。
foreach的概念和上一篇所講的迴圈類似,在陣列長度範圍內重複執行foreach()裡的動作。
若我們把上面第一個範例用foreach的方式寫,就會變成:
<?php
$scores['John'] = 77;
$scores['Christine'] = 93;
$scores['Teddy'] = 82;
$scores['Grace'] = 56;
foreach ($scores as $name => $score) {
echo "$name's score is $score\n";
}
/* Output :
John's score is 77
Christine's score is 93
Teddy's score is 82
Grace's score is 56*/
今天就先到這,下回見!