PHP開發(fā)基礎(chǔ)教學(xué)之?dāng)?shù)組
一、什麼是陣列
陣列是可以在單一變數(shù)中儲存多個值的特殊變數(shù)。
如果我們有一個項目清單(例如:車名字的清單),將其儲存到單一變數(shù)中,如下所示:
$cars1="Volvo";
$ cars2="BMW";
$cars3="Toyota";
然而,如果當(dāng)我們想要遍歷數(shù)組並找出特定的一個呢?如果陣列的項不只 3 個而是 300 個呢?
解決辦法是建立一個陣列!
陣列可以在單一變數(shù)中儲存多個值,而這時候我們可以根據(jù)鍵存取其中的值,陣列說到底也就是鍵值對的組合。
二、PHP中建立陣列
#在PHP 中,array() 函數(shù)用來建立陣列:
array();
在PHP 中,有三種類型的陣列:
索引陣列?- 具有數(shù)字ID 鍵的陣列
#?關(guān)聯(lián)數(shù)組?- 帶有指定的鍵的數(shù)組,每個鍵關(guān)聯(lián)一個值
?多維數(shù)組?- 包含一個或多個數(shù)組的數(shù)組(之後章節(jié)介紹)
三、PHP索引陣列
有兩種建立索引陣列的方式:
1.自動分配ID(ID值自動從零開始)
$cars=array("Volvo","BMW","Toyota");
2.人工分配ID(ID值自己分配,可以不從零開始,也可以不連續(xù))
$cars[3]="Volvo";
$cars[6]="BMW";
$cars[8]="Toyota";
#實例:程式碼如下
<?php //創(chuàng)建一個數(shù)組,并且輸出一句歡迎詞 $str=array("PHP.cn","學(xué)習(xí)","成長"); echo "大家好,歡迎來到".$str[0]."這個大家庭,以后大家一起".$str[1]."一起".$str[2] ?>
3.來介紹一個取得數(shù)組長度的函數(shù)-country()
count() 函數(shù)用來傳回陣列的長度(元素的數(shù)量):
#實例:
<?php //創(chuàng)建一個數(shù)組,并且輸出一句歡迎詞 $str=array("PHP.cn","學(xué)習(xí)","成長"); echo count($str); ?>
四、PHP關(guān)聯(lián)陣列
關(guān)聯(lián)數(shù)組與數(shù)值數(shù)組的區(qū)別為,數(shù)值數(shù)組的下標(biāo)(即鍵本身的值)只能為數(shù)字,而關(guān)聯(lián)數(shù)組可以為字串
有兩種方式創(chuàng)建關(guān)聯(lián)數(shù)組
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
#或:
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
隨後可以在腳本中使用指定的鍵
實例:程式碼如下
<?php //改造下之前的例子 //創(chuàng)建一個數(shù)組,并且輸出一句歡迎詞 $str=array("字符1"=>"PHP.cn","字符2"=>"學(xué)習(xí)","字符3"=>"成長"); echo "大家好,歡迎來到".$str["字符1"]."這個大家庭,以后大家一起".$str["字符2"]."一起".$str["字符3"]; ?>
五、遍歷索引及關(guān)聯(lián)數(shù)組
#1.遍歷索引數(shù)組
遍歷並列印數(shù)值數(shù)組中的所有值,您可以使用 for 迴圈。
實例:程式碼如下
<?php //創(chuàng)建一個索引數(shù)組,并遍歷輸出 $str=array("PHP.cn","學(xué)習(xí)","成長"); $strlength=count($str); for($i=0;$i<$strlength;$i++){ echo $str[$i]; echo "<br/>"; } ?>
註:遍歷陣列即挨個找到陣列裡面的元素,執(zhí)行對應(yīng)動作
2.遍歷關(guān)聯(lián)陣列
#關(guān)聯(lián)數(shù)組下標(biāo)不是數(shù)字,無法用for迴圈輸出,所以我們使用foeeach來做這個例子
程式碼如下:
<?php //創(chuàng)建一個索引數(shù)組,并遍歷輸出 $str=array("字符1"=>"PHP.cn","字符2"=>"學(xué)習(xí)","字符3"=>"成長"); $strlength=count($str); foreach($str as $key=>$value){ echo $key."對應(yīng)----".$value."<br/>"; } ?>