PHP開發基礎教學之數組

一、什麼是陣列

陣列是可以在單一變數中儲存多個值的特殊變數。

如果我們有一個項目清單(例如:車名字的清單),將其儲存到單一變數中,如下所示:

$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/>";
}
?>
繼續學習
||
<?php //创建一个数组,并且输出一句欢迎词 $str=array("PHP.cn","学习","成长"); echo "大家好,欢迎来到".$str[0]."这个大家庭,以后大家一起".$str[1]."一起".$str[2] ?>