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