PHP經過長時間的發展,很多用戶都很了解PHP了,這裡我發表一下個人理解,和大家討論討論關於PHP數組元素。如果你曾經寫過使用大量變量的腳本(有時候近100個),你就會知道跟蹤每個變量的內容和用途是多麼的難受。真的,我曾經有過這樣的經歷。如果我們能把變量保存在另一個變量裡邊,變量列表的長度就從100減少到10以內。這就是數組是如何而來的。
- <?php
- $arrayarrayPeople = array("John", "Susie", "Dave");
- ?>
現在,我使用$arrayPeople來代替$sPerson1, $sPerson2, and $sPerson3。注意我是如何使用PHP中的array()函數的。如果這三個名字是數字,我不會使用引號把它引起來。為了顯示這三個名字,我是這樣做的:
- <?php
- $arrayarrayPeople = array("John", "Susie", "Dave");
- print $arrayPeople[0];
- print $arrayPeople[1];
- print $arrayPeople[2];
- ?>
為什麼是從零開始?因為索引從那裡開始。不管你把什麼放到數組裡,索引總是從零(0)開始自動累加。你可以手動給索引指定一個特定的入口,等一下我會說到這點。現在我將給你演示怎麼通過一個循環自動的顯示一個數組的內容:
- <?php
- $arrayarrayPeople = array("John", "Susie", "Dave");
- $nArraySize = count($arrayPeople);
- for($index=0; $index < $nArraySize; $index++) // max. index is always number of entries - 1
- // because index starts at zero
- {
- print $arrayPeople[$index];
- }
- ?>
在這種情況下,$index是條目的索引(地址),$nArraySize是PHP數組元素的個數。count()函數返回PHP數組元素的個數。對像我剛才使用的小數組而已,使用循環的確增加了代碼的長度,但是當你開始處理元素成百上千的數組時(他們的確存在),你就會很樂意使用循環了。
下邊我將講講如何創建為數組創建你自己的索引。每當我使用SESSIONS來為我的網站設定管理員權限的時候,我都會使用數組來保存seesion信息。這裡是相關的代碼
- <?php
- $SESSION= array(); // that creates a blank array
- $SESSION["username"] = $sUserName;
- $SESSION["password"] = $sPassword;
- $SESSION["accesslevel"] = $nLevel;
- // etc,etc,etc.
- ?>
看見我怎麼使用單詞來表示索引了嗎?這樣我就可以知道$SESSION["username"]包含的是人名。這比要從$SESSION[0]記起它保存的是用戶名容易多了。我使用數組時總是像這樣使用變量的名字代替索引來表示元素。所以為了在數組$arrayDays中保存$nDaysinMay,我會使用$arrayDays["nDaysinMay"]。這樣我就能始終知道元素裡包含的是什麼變量。