標題:
4-1-2 陣列的使用
[打印本頁]
作者:
小誌
時間:
2011-4-18 19:36
標題:
4-1-2 陣列的使用
4-1-2 陣列的使用
陣列資料存取
不可一次指定陣列內的元素資料值,例如:
‘逐個元素指定
$Myarray[0] = 999;
$Myarray[1] = 999;
$Myarray[2] = 999;
$Myarray = 999; //錯誤, 不可一次指定陣列內的元素資料值
複製代碼
在上例中,我們已透過逐個個元素指定的方式建立陣列Myarray,但是又使用「$Myarray = 999;」敘述指定Myarray,此時原先的陣列Myarray已經消失而變成變數Myarray。
不可一次讀取陣列內的元素資料值,例如:
$Myarray = Array(3,6,9);
echo $MyArray ; //錯誤
複製代碼
上例之執行結果如下圖所示,輸出的結果為錯誤訊息,因為「echo $MyArray ;」敘述變成要求輸出一個未初始的變數:
[attach]5485[/attach]
圖4-4
要讀出陣列元素資料值,必須逐項讀出:
$Myarray = array(“春天”,”夏天”,”秋天”,”冬天”);
echo $Myarray[0]; //印出春天
echo $Myarray [1]; //印出夏天
echo $Myarray [2]; //印出秋天
echo $Myarray [3]; //印出冬天
複製代碼
還好,我們的陣列元素只有四個,如果有40個,那我們可得寫40行敘述才能將陣列內的元素資料全部列印出來!可是,總會遇到元素很多的時候吧!那我們就可以配合迴圈敘述來做,例如用for迴圈來列印出全部的陣列資料:(範例ex04_02.php)
$Myarray = array(“春天”,”夏天”,”秋天”,”冬天”);
for ($I=0 ; $I<=3 ; $I++)
{
echo “$Myarray[$I] . <br>”;
}
複製代碼
[attach]5486[/attach]
圖4-5 範例ex04_02.php。
作者:
小誌
時間:
2011-4-18 19:40
註標範圍
存取陣列資料不可超過註標範圍。
//宣告4個元素的陣列,註標由0至3
$Myarray = $array(“春天”,”夏天”,”秋天”,”冬天”);
echo $Myarray[5]; //錯誤
echo $Myarray[-1]; //錯誤
複製代碼
陣列大小(長度)
建立陣列後,我們可以直接使用count()函數得知陣列的大小(長度),我們只要將count()函數得知的陣列大小減1就是陣列元素的最大註標。
例如:
$Myarray = array(3,6,9);
echo (count($Myarray)); //列印出陣列大小3
echo (count($Myarray)-1) //列印出最大陣列註標2
複製代碼
因此,我們可以將範例ex04_02.php程式敘述更改為使用『count()』函數:(ex04_03.php)
$Myarray = array("春天","夏天","秋天","冬天");
for ($I=0 ; $I<count($Myarray) ; $I++)
{
echo "$Myarray[$I] <br>";
}
複製代碼
在上例中,我們將count()函數放在for迴圈敘述的轍是條件中,雖然敘述簡短,但卻是不智之舉,因為迴圈每次執行時都得呼叫一次count()函數,造成程式執行效率不佳,所以要把count()函數提出迴圈外利用才對:(ex04_04.php)
$Myarray = array("春天","夏天","秋天","冬天");
$num=count($Myarray);
for ($I=0 ; $I<$num ; $I++)
{
echo "$Myarray[$I] <br>";
}
複製代碼
作者:
小誌
時間:
2011-4-18 19:41
移除陣列元素
當我們需要移除某個陣列中的變數時,可使用『unset()』函數,unset()函數不僅可以移除陣列中的元素,甚至可以用來毀滅變數(釋放變數空間),例如(ex04_05.php):
$Myarray = array("春天","夏天","秋天","冬天");
$num=count($Myarray);
for ($I=0 ; $I<$num ; $I++)
{
echo "$Myarray[$I] <br>";
if ($Myarray[$I]=="秋天")
unset($Myarray[$I]);
}
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)