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

Aidec Li
學我所見,寫我所學。凡事略懂略懂~~
更多 Aidec Li 的文章...

很抱歉,此文章關閉留言