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