iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 8
1

陣列(array)是一種資料結構,和其他變數一樣,都佔有一塊儲存資料的記憶體空間。
每個陣列元素都搭配一個資料索引,我們可以透過這個索引值來指定陣列中的某個元素。
https://ithelp.ithome.com.tw/upload/images/20190923/20120024fhP3thyQIB.jpg
注意:有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*/

今天就先到這,下回見!


上一篇
Day 7 PHP基礎語法(二) :流程控制──if、else判斷式與迴圈
下一篇
Day 9 PHP基礎語法(四):函式
系列文
後端基礎PHP+Mysql & Laravel 30日養成計畫36
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言