PHP 數(shù)組
陣列能夠在單一變數(shù)中儲(chǔ)存多個(gè)值:
實(shí)例
<?php $cars=array("Volvo","BMW","Toyota"); echo "I like" . $cars[0] . "," . $cars[1] . "and " . $cars[2] . "."; ?>
嘗試?
陣列是什麼?
陣列是一個(gè)能在單一變數(shù)中儲(chǔ)存多個(gè)值的特殊變數(shù)。
陣列提供了一種快速,方便地管理一組相關(guān)資料的方法,是php程式設(shè)計(jì)中的重要內(nèi)容。
如果您有一個(gè)項(xiàng)目清單(例如:車名字的清單),將其儲(chǔ)存到單一變數(shù)中,如下所示:
$cars1 = "Volvo";?
$cars2 = "BMW";?
$cars3 = "Toyota";
然而,如果您想要遍歷數(shù)組並找出特定的一個(gè)呢?如果陣列的項(xiàng)不只 3 個(gè)而是 300 個(gè)呢?
解決辦法是建立一個(gè)陣列!
陣列可以在單一變數(shù)中儲(chǔ)存多個(gè)值,並且您可以根據(jù)鍵存取其中的值。
在PHP 中建立陣列
##在PHP 中,array() 函數(shù)用來(lái)建立陣列:array() ;
#PHP 5.4之後,陣列的初始化可以用更簡(jiǎn)潔的方式:?[]?用一對(duì)中括號(hào)來(lái)表示。 在PHP 中,有三種類型的陣列:1.數(shù)值陣列?- 具有數(shù)字ID 鍵的陣列2.關(guān)聯(lián)陣列?- 帶有指定的鍵的數(shù)組,每個(gè)鍵關(guān)聯(lián)一個(gè)值3.多維數(shù)組?- 包含一個(gè)或多個(gè)數(shù)組的數(shù)組PHP 數(shù)值數(shù)組這裡有兩種創(chuàng)建數(shù)值數(shù)組的方法:自動(dòng)指派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); // 可以打印出來(lái)看看是什么 echo "I like" . $cars[0] . "," . $cars[1] . "and " . $cars[2] . "."; ?>試試看?
# 取得陣列的長(zhǎng)度- count() 函數(shù)##count( ) 函數(shù)用於傳回陣列的長(zhǎng)度(元素的數(shù)量):
實(shí)例
<?php $cars=array("Volvo","BMW","Toyota"); echo count($cars); ?>
嘗試?
遍歷並列印數(shù)值數(shù)組中的所有值,您可以使用for 循環(huán),如下所示:
實(shí)例
<?php $cars=array("Volvo","BMW","Toyota"); $arrlength=count($cars); for($x=0;$x<$arrlength;$x++) { echo $cars[$x]; echo "<br>"; } ?>
嘗試?
關(guān)於for迴圈在後面的章節(jié)會(huì)有詳細(xì)講解,參考PHP for 迴圈
##關(guān)聯(lián)數(shù)組是使用您指派給數(shù)組的指定的鍵的數(shù)組。
這裡有兩種建立關(guān)聯(lián)數(shù)組的方法:$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."; ?>試試?
那我們來(lái)宣告一下關(guān)聯(lián)數(shù)組。必須要指定字串的下標(biāo)和必須要使用鍵值對(duì)應(yīng)符。
<?php //聲明一下關(guān)聯(lián)數(shù)組 $rela = array( '帥' => '你', '很帥' => '黃曉明', '灰?;页?#39; => '寧澤濤', '有男人味的大叔' => '吳秀波', ); //簡(jiǎn)潔聲明 $drink = [ '美' => '鳳姐', '很美' => '芙蓉姐姐', 'verymei' => '楊冪', '心中滴女神呀' => '華妃', 100 => '孫儷', '娘娘', ]; // 輸出 $rela echo '<pre>'; var_dump($rela); echo '</pre>'; // 輸出$drink echo '<pre>'; var_dump($drink); echo '</pre>'; ?>
我們來(lái)實(shí)驗(yàn)看看最終的結(jié)果是什麼樣的:
#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) "娘娘"?
}
用過(guò)上面的例子,我們知道:
#聲明關(guān)聯(lián)數(shù)組是鍵名=> 值
在關(guān)聯(lián)數(shù)組可以有索引數(shù)組的元素
關(guān)聯(lián)數(shù)組中的索引數(shù)組的元素後再聲明了無(wú)下標(biāo)的元素,依然是最大值+1原則。 (觀察上圖的值為孫儷、娘娘的兩個(gè)元素)。
遍歷關(guān)聯(lián)數(shù)組
#遍歷並列印關(guān)聯(lián)數(shù)組中的所有值,您可以使用foreach 循環(huán),如下所示:
實(shí)例
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; } ?>
試試看?
關(guān)於foreach迴圈在後面的章節(jié)會(huì)有詳細(xì)講解,參考PHP for 迴圈中的foreach
#切記
陣列元素間的分割符號(hào)為逗號(hào),在陣列中插入陣列的時(shí)候,不要在結(jié)尾處寫成了分號(hào)(; ) 下圖是錯(cuò)誤的載圖展示:
多維數(shù)組
多維數(shù)組?將在PHP 高階教學(xué)部分做詳細(xì)介紹。
完整的 PHP Array 參考手冊(cè)
如需查看所有陣列函數(shù)的完整參考手冊(cè),請(qǐng)?jiān)煸L我們的?PHP Array 參考手冊(cè)。
此參考手冊(cè)提供了每個(gè)函數(shù)的簡(jiǎn)要描述和應(yīng)用實(shí)例!