PHP 數(shù)組
PHP?陣列
陣列提供了一個快速,方便地管理一組相關(guān)資料的方法,是php程式設(shè)計中的重要內(nèi)容。
php中將數(shù)組分為一維數(shù)組,二維數(shù)組和多維數(shù)組,但無論是一維還是多維,可以統(tǒng)一將數(shù)組分為數(shù)字索引數(shù)組和關(guān)聯(lián)數(shù)組兩種。
陣列能夠在單一變數(shù)中儲存多個值:
實例
<?php $phones=array("Iphone","Nokia","Oppo"); echo "I like " . $phones[0] . ", " . $phones[1] . " and " . $phones[2] . "."; ?>
陣列是什麼?
陣列是一個能在單一變數(shù)中儲存多個值的特殊變數(shù)。
如果您有一個項目清單(例如:手機名字的清單),將其儲存到單一變數(shù)中,如下所示:
$phones1
="Iphone";
$phones2
="Nokia";
$phones3
# ="Oppo";
然而,如果您想要遍歷數(shù)組並找出特定的一個呢?如果陣列的項不只 3 個而是 300 個呢?
解決辦法是建立一個陣列!
陣列可以在單一變數(shù)中儲存多個值,並且您可以根據(jù)鍵存取其中的值。
在PHP 中建立陣列
#在PHP 中,array() 函數(shù)用於建立陣列:
array();
在PHP 中,有三種類型的陣列:
·???????? 數(shù)值陣列?- 帶有數(shù)字ID 鍵的陣列
# ·???????? 關(guān)聯(lián)陣列?- 指定的鍵的陣列,每個鍵關(guān)聯(lián)一個值
·????????#PHP 數(shù)值數(shù)組(索引數(shù)組)
###這裡有兩種建立數(shù)值數(shù)組的方法:######自動分配ID 鍵(ID 鍵總是從0 開始):####### $phones###=array("Iphone","Nokia","Oppo");######人工分配ID 鍵:######$phones[0]#######= "Iphone";### $phones[1]######="Nokia";### $phones[2]######="Oppo";######## #######下面的實例建立一個名為$cars 的數(shù)值數(shù)組,並給數(shù)組分配三個元素,然後列印一段包含數(shù)組值的文字:######實例###<?php $cars=array("Volvo","BMW","Toyota"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . "."; ?>## ################ 取得陣列的長度- count() 函數(shù)############count() 函數(shù)用來傳回陣列的長度(元素的數(shù)量):######實例###
<?php $cars=array("Volvo","BMW","Toyota"); echo count($cars); ?>############?語法:######? int?count?(?mixed?$var?[,?int?$mode?= COUNT_NORMAL?$var?[,?int?$mode?= COUNT_NORMAL?] )# ########? echo?count($names);#########?############遍歷數(shù)值數(shù)組#################################################################################### #遍歷並列印數(shù)值數(shù)組中的所有值,您可以使用for 循環(huán),如下所示:######實例###
<?php $cars=array("Volvo","BMW","Toyota"); $arrlength=count($cars); for($x=0;$x<$arrlength;$x++) { echo $cars[$x]; echo "<br>"; } ?>
PHP 關(guān)聯(lián)陣列
關(guān)聯(lián)陣列是使用您指派給陣列的指定的鍵的陣列。
除了數(shù)組索引數(shù)組,PHP還有一個關(guān)聯(lián)數(shù)組,在其它電腦語言中,一般叫做hash或map。
$info?=?[
? ? 'name'?=>?'andy',?
? ? 'age'?=>?18,?
? ? 'gender』#?=>?18,?
? ? 'gender'#?=>?18,?
??
這裡有兩種建立關(guān)聯(lián)陣列的方法:$age=array("Peter"=>"35"," Ben"=>"37","Joe"=>"43");or:
$age['Peter']="35";
$ age['Ben']="37";
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); echo "Peter is " . $age['Peter'] . " years old."; ?>
遍歷關(guān)聯(lián)陣列
#遍歷並列印關(guān)聯(lián)數(shù)組中的所有值,您可以使用foreach循環(huán),如下所示:實例<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; } ?>
#多維數(shù)組
多維數(shù)組?將在PHP 進階教程部分做詳細介紹。列印陣列
#我們可以使用echo去列印一個字串、整數(shù)、浮點型,但是我們不能用它來列印陣列陣列是由一系列的元素組成的,如果要列印,那麼列印的應(yīng)該是每個元素,而不是整個陣列我們一般使用print_r來列印陣列(當(dāng)然用var_dump也可以,但結(jié)構(gòu)上不清楚)bool?print_r?(?mixed?$expression?[,?bool?$return?] )#print_r($names); 當(dāng)?shù)诙€參數(shù)為true時,print_r不會直接列印數(shù)組,而是將列印的內(nèi)容作為字串傳回echo?print_r($names,?true);?
取得陣列元素
#索引陣列中的每個元素都有一個自增長的序號,預(yù)設(shè)情況下,0表示第一個元素,對於$names?=?['andy',?'tom',?'jack'];我們可以使用陣列變數(shù)名稱後面加方括號的方式來取得陣列中的元素,譬如,用$names[0]來獲得到andy,同理$names[2]代表jack?陣列的維度:一維 #$arr?=?['王剛',?'張麗',?'劉偉'];假設(shè)陣列變數(shù)名為$arr,取得「張麗」的方式:$arr[1]?多維數(shù)組超過一維的數(shù)組,我們都可以稱為多維數(shù)組###
我們需要明白,數(shù)組不一定就是一個下標(biāo)和值的簡單列表,實際上,數(shù)組中的每個元素還可以是另一個數(shù)組
因此如果一維數(shù)組中的數(shù)組元素又是一個數(shù)組,那麼它就變成了一個二維數(shù)組
?
數(shù)組的維度:二維
$arr?=?[
? ? ['王剛',?'張麗',?'劉偉'],
? ? ['孫麗',?'李強',?'李國慶日'],
? ? ['趙園園',?'丁麗麗']
];
echo?count($arr);
$arr?=?[
? ? [
? ? ? ? ['王剛',?'張麗',?'劉偉'],##?'李強國 ? ? 生 ['孫麗',?, '],
? ? ? ? ['趙園地',?'丁麗麗']
? ? ],
? ? [
# ? ? ? ? ['宋紅麗』, c'馬小麗'],#, ?',?'黃濤'],
? ? ? ? ['杜磊',?'朱婷婷']
? ? ],
];
# echo?count($$($ arr,?true);
完整的PHP Array 參考手冊
如需查看所有陣列函數(shù)的完整參考手冊,請造訪我們的?PHP Array 參考手冊。 此參考手冊提供了每個函數(shù)的簡要描述和應(yīng)用實例!