PHP教學系列(八)-陣列
在資料型別那章我們已經簡略的說明過陣列,它與變數相似,是用來儲存許多變數的集合。通常有大量變數且它們性質相同時,就可以將它們宣告在同一個陣列內。
陣列的用途和種類:
一般我們在儲存資料時,會使用變數來儲存,但當有大量同性質的資料要儲存時,這時使用變數來儲存資料似乎太過於麻煩且沒效率。例如:一個成績輸入系統需要輸入全校3000人的成績,且每人有5科的成績,若使用變數來儲存資料就必須要宣告15000個變數才能存放這些成績。
所以,我們可以使用陣列來解決這個問題,只需分成五個陣列,例如:國文、數學、英文、物理、化學,在五個陣列內存入3000個學生的成績,就能完成任務了。(實際範例將在之後做說明)
陣列依照種類又可分成一維陣列、二維陣列、多維陣列。
陣列的識別:
如上舉例,我們將3000名學生的成績輸入在陣列內,那又該如何從陣列內取得學生的成績呢?在儲存資料到陣列時,它會建立索引鍵。此索引鍵就是陣列用來識別元素資料的關鍵值。陣列的索引鍵可以是整數或是字串,若在使用陣列時,沒有添加索引值,程式也會自動從0開始依照順序添加索引鍵。
一維陣列
說明:陣列以索引鍵作為識別的指標,因此只有一個索引鍵的陣列我們稱之為一維陣列。
格式一:
陣列名稱[索引鍵]=元素資料 ;
格式二:
陣列名稱=array (索引鍵1=>元素1 ,索引鍵2=>元素2,索引鍵3=>元素3…);
剛剛我們已說明過,陣列的索引鍵可以是整數或字串又或者可以留空白讓程式自行建立,如下範例:
範例:
1.整數索引鍵
說明:使用整數作為索引鍵,可依照順序排列或不依照順序排列。
依照順序:
//格式一
$a[1]=100;
$a[2]=200;
$a[3]=300;
//格式二
$a=array(1=>100 ,2=>200 ,3=>300);
不按照順序:
//格式一
$a[5]=200;
$a[8]=400;
$a[4]=300;
//格式二
$a=array(5=>200,8=>400,4=>300);
2.字串索引鍵:
說明:使用字串作為索引鍵。
//格式一
$a[‘name’]=’aidec’;
$a[‘age’]=22;
//格式二
$a=array(“name”=>’aidec’ , “age”=>22);
3.自動索引鍵:
說明:讓程式自動添加索引鍵。
//格式一
$a[]=100; //索引鍵0
$a[]=200; //索引鍵1
$a[]=300; //索引鍵2
//格式二
$a=array(100,200,300);
4.混和索引鍵:
說明:指定索引鍵後,讓程式自動添加索引鍵。
//格式一
$a[8]=500; //索引鍵8
$a[]=700; //索引鍵9
$a[]=900; //索引鍵10
//格式二
$a=array(8=>500,700,900);
取得陣列值的方法
一般取值法:
<?php
$a[]=100; //索引鍵0
$a[]=200; //索引鍵1
$a[]=300; //索引鍵2
echo $[0];
echo $[1];
echo $[2];
?>
for迴圈取值法:
<?php
$a[]=100; //索引鍵0
$a[]=200; //索引鍵1
$a[]=300; //索引鍵2
for($i=0;$i<=2;i++){
echo $a[$i];
}
?>
foreach迴圈取值法:
在上一章節,曾提到過的foreach迴圈法,這是一個專門針對陣列的迴圈,它迴圈的重複次數是依照陣列的元素數量而決定的。
格式:
foreach (陣列名稱 as 自訂變數名稱) {
程式碼….;
}
範例一:
<?php
$day=array(‘星期一’,’星期二’,’星期三’,’星期四’,’星期五’,’星期六’,’星期天’);
foreach ($day as $value){
echo $value;
}
?>
若我們需取得陣列的索引值和元素值的話,也可以用foreach迴圈。
範例二:
<?php
$month=array(‘一月’=>’January’,
‘二月’=>’February’,
‘三月’=>’March’,
‘四月’=>’April’,
‘五月’=>’May’,
‘六月’=>’June’,
‘七月’=>’July’,
‘八月’=>’August’,
‘九月’=>’September’,
‘十月’=>’October’,
‘十一月’=>’November’,
‘十二月’=>’December’);
foreach ($month as $twmonth => $enmonth ){
echo $twmonth . “的英文” .$enmonth.”<br>”;
}
?>
實際範例:example-8-1.php
感謝您的閱讀,請用力地分享讓大家知道吧~~
1 2
很抱歉,此文章關閉留言