Nekoto個人工作室 PHP教學,WordPress,技術 一天半小時-PHP快速上手基礎教學篇 Day3

一天半小時-PHP快速上手基礎教學篇 Day3

array陣列

假設一個情況,我們有十個人的成績,分別是20、58、37、45、86、64、72、55、92、88,假設我們要取出這之中大於60分的分數並列出,若在我們只有變數的情況下只能這樣做。

是不是看起來相當的繁瑣又不智能,所以才會有array的存在,每個變數如果是一種水果,array就是類似水果籃的存在,我們先把水果丟進去放著,等到要處理時再逐一做檢查或處理。

會存放在同一個array內的資訊通常是具有同一種關聯性質的東西,我們先將其暫存以便後續作對應的處理。

依照我們開頭所提的例子,我們可以宣告這十個人的成績為一個陣列。

若我們一樣要找出60分以上的分數,則只需要使用

foreach代表我們依序取出每一個$scoreArr陣列裡的元素並暫時命名為$score,如果這個分數$score大於60分則將其打印出來。

這部份如果覺得有點跳太快的同學,我們使用上一章學到的for迴圈也能達到相同的效果。

值得注意的是,陣列的第一個元素的位置是0,以這個例子來說是$scoreArr[0],所以依此邏輯$scoreArr[0]=20,$scoreArr[1]=58,$scoreArr[2]=37,而count是只計算我們array的元素數量,這個地方許多人會搞混的是,我們的最後一個元素位置是9,也就是$scoreArr[9]=88,但是元素的總數量count($scoreArr)則是10,實際寫程式的時候要特別留意這點。

將變數儲存再array裡面就有許多現成的用法可供使用,例如延續上面的例子,我們使用sort($scoreArr)可以將array內的元素由小到大排序,使用array_search(86,$scoreArr)可以找到元素在array中的第幾個位置(由0開始起算)。

課後自我練習

  1. 如何用while迴圈做到找出陣列內60分以上的分數並印出(關鍵字:php isset)
  2. 如何用for迴圈的方式將陣列內的分數由小到大排列(挑戰題)(關鍵字:bubble sort)

Related Post