PHP 數組
陣列能夠在單一變數中儲存多個值:
實例
<?php $cars=array("Volvo","BMW","Toyota"); echo "I like" . $cars[0] . "," . $cars[1] . "and " . $cars[2] . "."; ?>
嘗試»
陣列是什麼?
陣列是一個能在單一變數中儲存多個值的特殊變數。
陣列提供了一種快速,方便地管理一組相關資料的方法,是php程式設計中的重要內容。
如果您有一個項目清單(例如:車名字的清單),將其儲存到單一變數中,如下所示:
$cars1 = "Volvo";
$cars2 = "BMW";
$cars3 = "Toyota";
然而,如果您想要遍歷數組並找出特定的一個呢?如果陣列的項不只 3 個而是 300 個呢?
解決辦法是建立一個陣列!
陣列可以在單一變數中儲存多個值,並且您可以根據鍵存取其中的值。
在PHP 中建立陣列
##在PHP 中,array() 函數用來建立陣列:array() ;
#PHP 5.4之後,陣列的初始化可以用更簡潔的方式: [] 用一對中括號來表示。 在PHP 中,有三種類型的陣列:1.數值陣列 - 具有數字ID 鍵的陣列2.關聯陣列 - 帶有指定的鍵的數組,每個鍵關聯一個值3.多維數組 - 包含一個或多個數組的數組PHP 數值數組這裡有兩種創建數值數組的方法:自動指派ID 鍵(ID 鍵總是從0 開始):$cars=array("Volvo","BMW","Toyota");人工分配ID 鍵:$cars1[0] = "Volvo";
$cars2[1] = "BMW";
#$cars3[2 ] = "Toyota";
<?php $cars=array("Volvo","BMW","Toyota"); var_dump($cars); // 可以打印出来看看是什么 echo "I like" . $cars[0] . "," . $cars[1] . "and " . $cars[2] . "."; ?>試試看»
# 取得陣列的長度- count() 函數##count( ) 函數用於傳回陣列的長度(元素的數量):
實例
<?php $cars=array("Volvo","BMW","Toyota"); echo count($cars); ?>
嘗試»
遍歷並列印數值數組中的所有值,您可以使用for 循環,如下所示:
實例
<?php $cars=array("Volvo","BMW","Toyota"); $arrlength=count($cars); for($x=0;$x<$arrlength;$x++) { echo $cars[$x]; echo "<br>"; } ?>
嘗試»
關於for迴圈在後面的章節會有詳細講解,參考PHP for 迴圈
##關聯數組是使用您指派給數組的指定的鍵的數組。
這裡有兩種建立關聯數組的方法:$age=array("Peter"=>"35","Ben"=>"37","Joe" =>"43");or:$age['Peter']="35"; $age['Ben']="37 ";
$age['Joe']="43";
隨後可以在腳本中使用指定的鍵:
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); echo "Peter is" . $age['Peter'] . "years old."; ?>試試»
那我們來宣告一下關聯數組。必須要指定字串的下標和必須要使用鍵值對應符。
<?php //声明一下关联数组 $rela = array( '帅' => '你', '很帅' => '黄晓明', '灰常灰常帅' => '宁泽涛', '有男人味的大叔' => '吴秀波', ); //简洁声明 $drink = [ '美' => '凤姐', '很美' => '芙蓉姐姐', 'verymei' => '杨幂', '心中滴女神呀' => '华妃', 100 => '孙俪', '娘娘', ]; // 输出 $rela echo '<pre>'; var_dump($rela); echo '</pre>'; // 输出$drink echo '<pre>'; var_dump($drink); echo '</pre>'; ?>
我們來實驗看看最終的結果是什麼樣的:
#array(4)
{
["帥"]=> string(3) "你"
["很帥"]=> string(9) "黃曉明"
["灰常灰常帥"]=> string(9) "寧澤濤"
["有男人味的大叔"]=> string(9) "吳秀波"
}
array(6) {
#["美麗"]=> string(6) "鳳姐"
["很美"]=> string(12) "芙蓉姊姊"
["verymei"]=> string(6) "楊冪"
#["心中滴女神呀"]=> string(6) "華妃"
[100]=> string(6) "孫儷"
[101]=> string(6) "娘娘"
}
用過上面的例子,我們知道:
#聲明關聯數組是鍵名=> 值
在關聯數組可以有索引數組的元素
關聯數組中的索引數組的元素後再聲明了無下標的元素,依然是最大值+1原則。 (觀察上圖的值為孫儷、娘娘的兩個元素)。
遍歷關聯數組
#遍歷並列印關聯數組中的所有值,您可以使用foreach 循環,如下所示:
實例
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; } ?>
試試看»
關於foreach迴圈在後面的章節會有詳細講解,參考PHP for 迴圈中的foreach
#切記
陣列元素間的分割符號為逗號,在陣列中插入陣列的時候,不要在結尾處寫成了分號(; ) 下圖是錯誤的載圖展示:
多維數組
多維數組 將在PHP 高階教學部分做詳細介紹。
完整的 PHP Array 參考手冊
如需查看所有陣列函數的完整參考手冊,請造訪我們的 PHP Array 參考手冊。
此參考手冊提供了每個函數的簡要描述和應用實例!