初學者必看:關於PHP數組元素介紹_PHP教程

來源:互聯網
上載者:User
PHP經過長時間的發展,很多使用者都很瞭解PHP了,這裡我發表一下個人理解,和大家討論討論關於PHP數組元素。如果你曾經寫過使用大量變數的指令碼(有時候近100個),你就會知道跟蹤每個變數的內容和用途是多麼的難受。真的,我曾經有過這樣的經曆。如果我們能把變數儲存在另一個變數裡邊,變數列表的長度就從100減少到10以內。這就是數組是如何而來的。

一個數組,從最簡單的形式來講,是一個儲存變數的變數。這很像一個城市裡的一列房屋。城市擁有很多房屋,而每個房屋有一個地址。同樣的情況,每個變數(房子)在一個數組(城市)裡有它自己的地址,我們叫它索引。讓我們假設你有三個人名分別存放在叫做$sPerson1、$sPerson2和$sPerson3的變數中。現在你可以在你的程式中使用這三個變數,但是這樣很容易忘記哪個變數是哪個……尤其是有其他變數的時候。要將這三個變數放到一個數組中,你可以像這樣做:

 
  1. php
  2. $arrayarrayPeople = array("John", "Susie", "Dave");
  3. ?>

現在,我使用$arrayPeople來代替$sPerson1, $sPerson2, and $sPerson3。注意我是如何使用PHP中的array()函數的。如果這三個名字是數字,我不會使用引號把它引起來。為了顯示這三個名字,我是這樣做的:

 
  1. php
  2. $arrayarrayPeople = array("John", "Susie", "Dave");
  3. print $arrayPeople[0];
  4. print $arrayPeople[1];
  5. print $arrayPeople[2];
  6. ?>

為什麼是從零開始?因為索引從那裡開始。不管你把什麼放到數組裡,索引總是從零(0)開始自動累加。你可以手動給索引指定一個特定的入口,等一下我會說到這點。現在我將給你示範怎麼通過一個迴圈自動的顯示一個數組的內容:

 
  1. php
  2. $arrayarrayPeople = array("John", "Susie", "Dave");
  3. $nArraySize = count($arrayPeople);
  4. for($index=0; $index < $nArraySize; $index++) // max. index is always number of entries - 1
  5. // because index starts at zero
  6. {
  7. print $arrayPeople[$index];
  8. }
  9. ?>

在這種情況下,$index是條目的索引(地址),$nArraySize是PHP數組元素的個數。count()函數返回PHP數組元素的個數。對像我剛才使用的小數組而已,使用迴圈的確增加了代碼的長度,但是當你開始處理元素成百上千的數組時(他們的確存在),你就會很樂意使用迴圈了。

下邊我將講講如何建立為數組建立你自己的索引。每當我使用SESSIONS來為我的網站設定管理員權限的時候,我都會使用數組來儲存seesion資訊。這裡是相關的代碼

 
  1. php
  2. $SESSION= array(); // that creates a blank array
  3. $SESSION["username"] = $sUserName;
  4. $SESSION["password"] = $sPassword;
  5. $SESSION["accesslevel"] = $nLevel;
  6. // etc,etc,etc.
  7. ?>

看見我怎麼使用單詞來表示索引了嗎?這樣我就可以知道$SESSION["username"]包含的是人名。這比要從$SESSION[0]記起它儲存的是使用者名稱容易多了。我使用數組時總是像這樣使用變數的名字代替索引來表示元素。所以為了在數組$arrayDays中儲存$nDaysinMay,我會使用$arrayDays["nDaysinMay"]。這樣我就能始終知道元素裡包含的是什麼變數。


http://www.bkjia.com/PHPjc/446496.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/446496.htmlTechArticlePHP經過長時間的發展,很多使用者都很瞭解PHP了,這裡我發表一下個人理解,和大家討論討論關於PHP數組元素。如果你曾經寫過使用大量變數...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.