百寶箱之PHP數(shù)組基本概念詳細(xì)介紹
數(shù)組在我們PHP中是很重要的,如何利用數(shù)組實(shí)現(xiàn)我們想要的功能,我們這里就來看看關(guān)于PHP數(shù)組相關(guān)的基礎(chǔ)知識(shí)吧。我們學(xué)習(xí)的時(shí)間還不長(zhǎng),但有的會(huì)員已經(jīng)迫不及待的想要實(shí)現(xiàn)很多網(wǎng)站功能,呵呵,有這樣的要求和愿望很不錯(cuò),這其實(shí)就是我們進(jìn)步的動(dòng)力。但是,作為一門編程語(yǔ)言,我們畢竟還是要掌握一些基本的規(guī)則,比如數(shù)據(jù)類型,語(yǔ)法等。
#T#好在PHP并不難,這些東西也不多,再學(xué)幾課我們就可以開始利用它來實(shí)現(xiàn)一個(gè)一個(gè)網(wǎng)站功能了,到時(shí)候相信你會(huì)越來越有精神了。好,開始今天的課程。今天我們學(xué)習(xí)數(shù)組,數(shù)組是一種數(shù)據(jù)類型,它的使用頻率相當(dāng)高,學(xué)會(huì)處理數(shù)組會(huì)讓你做網(wǎng)站時(shí)得心應(yīng)手。舉個(gè)例子:你的網(wǎng)站數(shù)據(jù)庫(kù)里存有大里的文章,現(xiàn)在你想在一個(gè)頁(yè)面上顯示20條娛樂新聞的標(biāo)題,這20條標(biāo)題從數(shù)據(jù)庫(kù)里取出來后你想用20個(gè)變量表示嗎?我想你不會(huì)這么笨吧,那么用什么變量能完全接收這20條數(shù)據(jù)呢?這就要用到數(shù)組變量。
什么是數(shù)組呢?數(shù)組實(shí)際上是一個(gè)數(shù)據(jù)集合,相當(dāng)于是一個(gè)數(shù)據(jù)容器,很多數(shù)據(jù)存放在里面,我們可以按一定方法存進(jìn)去或取出來,還可以對(duì)它里面的數(shù)據(jù)進(jìn)行排序等各種操作,還可以檢查里面有沒有我們想要的數(shù)據(jù)等等。
PHP數(shù)組的定義:
可以用 array() 語(yǔ)言結(jié)構(gòu)來新建一個(gè) array(數(shù)組)。它接受一定數(shù)量用逗號(hào)分隔的 key => value 參數(shù)對(duì)。例如8-1:
- <?php
- $arr = array(1 => "新浪", 2 =>"網(wǎng)易", 3 => "騰訊", "雅虎");
- ?>
數(shù)組里面的數(shù)據(jù)實(shí)際上是按一定順序排列的,每個(gè)數(shù)據(jù)都有一個(gè)key對(duì)應(yīng),這個(gè)key(鍵值)由自己決定,如果你沒有給出key,系統(tǒng)會(huì)按序列分配一個(gè)鍵值(key)。這里的 "雅虎"我們沒有給出鍵值,但系統(tǒng)會(huì)分配給它一個(gè)鍵值4。
既然系統(tǒng)能自動(dòng)分配鍵值,可以不可以不寫鍵值呢?當(dāng)然可以,比如你可以這樣寫8-2:
- <?php
- $arr = array( "新浪", "網(wǎng)易", "騰訊", "雅虎");
- ?>
這里要注意:系統(tǒng)分配鍵值(key)是從0開始的,你知道"新浪"的鍵值是什么嗎?
如何訪問PHP數(shù)組數(shù)據(jù):
上面那么多數(shù)據(jù)我們都用變量$arr表示了,要從中取出我們想要的數(shù)據(jù)應(yīng)該怎么做呢?例如取出8-1例中的數(shù)據(jù)這么做8-3:
- <?php
- $arr = array(1 => "新浪", 2 =>"網(wǎng)易", 3 => "騰訊", "雅虎");
- echo $arr[1]; //這個(gè)會(huì)輸出“新浪”
- echo $arr[2]; //這個(gè)會(huì)輸出“網(wǎng)易”
- echo $arr[3]; //這個(gè)會(huì)輸出“騰訊”
- echo $arr[4]; //這個(gè)會(huì)輸出“雅虎”
- ?>
就是用變量名加上中括號(hào)內(nèi)不同的key訪問不同的數(shù)據(jù)。中括號(hào)內(nèi)的key我們也叫它下標(biāo)。要得到8-2中的“新浪”應(yīng)該怎么做?對(duì)了用$arr[0]。