PHP 數(shù)組
數(shù)組能夠在單個變量中存儲多個值:
實例
<?php $cars=array("Volvo","BMW","Toyota"); echo "I like" . $cars[0] . "," . $cars[1] . "and " . $cars[2] . "."; ?>
嘗試一下 ?
數(shù)組是什么?
數(shù)組是一個能在單個變量中存儲多個值的特殊變量。
數(shù)組提供了一種快速,方便地管理一組相關(guān)數(shù)據(jù)的方法,是php程序設(shè)計中的重要內(nèi)容。
如果您有一個項目清單(例如:車名字的清單),將其存儲到單個變量中,如下所示:
$cars1 = "Volvo";
$cars2 = "BMW";
$cars3 = "Toyota";
然而,如果您想要遍歷數(shù)組并找出特定的一個呢?如果數(shù)組的項不只 3 個而是 300 個呢?
解決辦法是創(chuàng)建一個數(shù)組!
數(shù)組可以在單個變量中存儲多個值,并且您可以根據(jù)鍵訪問其中的值。
在 PHP 中創(chuàng)建數(shù)組
在 PHP 中,array() 函數(shù)用于創(chuàng)建數(shù)組:
array() ;
PHP 5.4之后,數(shù)組的初始化可以使用更簡潔的方式: [] 用一對中括號來表示。
在 PHP 中,有三種類型的數(shù)組:
1.數(shù)值數(shù)組 - 帶有數(shù)字 ID 鍵的數(shù)組
2.關(guān)聯(lián)數(shù)組 - 帶有指定的鍵的數(shù)組,每個鍵關(guān)聯(lián)一個值
3.多維數(shù)組 - 包含一個或多個數(shù)組的數(shù)組
PHP 數(shù)值數(shù)組
這里有兩種創(chuàng)建數(shù)值數(shù)組的方法:
自動分配 ID 鍵(ID 鍵總是從 0 開始):
$cars=array("Volvo","BMW","Toyota");
人工分配 ID 鍵:
$cars1[0] = "Volvo";
$cars2[1] = "BMW";
$cars3[2] = "Toyota";
下面的實例創(chuàng)建一個名為 $cars 的數(shù)值數(shù)組,并給數(shù)組分配三個元素,然后打印一段包含數(shù)組值的文本:
實例
<?php $cars=array("Volvo","BMW","Toyota"); var_dump($cars); // 可以打印出來看看是什么 echo "I like" . $cars[0] . "," . $cars[1] . "and " . $cars[2] . "."; ?>
嘗試一下 ?
獲取數(shù)組的長度 - count() 函數(shù)
count() 函數(shù)用于返回數(shù)組的長度(元素的數(shù)量):
實例
<?php $cars=array("Volvo","BMW","Toyota"); echo count($cars); ?>
嘗試一下 ?
遍歷數(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>"; } ?>
嘗試一下 ?
關(guān)于for循環(huán)在后面的章節(jié)會有詳細(xì)講解,參考PHP for 循環(huán)
PHP 關(guān)聯(lián)數(shù)組
關(guān)聯(lián)數(shù)組是使用您分配給數(shù)組的指定的鍵的數(shù)組。
這里有兩種創(chuàng)建關(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."; ?>
嘗試一下 ?
那我們來聲明一下關(guān)聯(lián)數(shù)組。必須要指定字符串的下標(biāo)和必須要使用鍵值對應(yīng)符。
<?php //聲明一下關(guān)聯(lián)數(shù)組 $rela = array( '帥' => '你', '很帥' => '黃曉明', '灰?;页?#39; => '寧澤濤', '有男人味的大叔' => '吳秀波', ); //簡潔聲明 $drink = [ '美' => '鳳姐', '很美' => '芙蓉姐姐', 'verymei' => '楊冪', '心中滴女神呀' => '華妃', 100 => '孫儷', '娘娘', ]; // 輸出 $rela echo '<pre>'; var_dump($rela); echo '</pre>'; // 輸出$drink echo '<pre>'; var_dump($drink); echo '</pre>'; ?>
我們來實驗一下看看最終的結(jié)果是什么樣的:
array(4)
{
["帥"]=> string(3) "你"
["很帥"]=> string(9) "黃曉明"
["灰?;页?quot;]=> string(9) "寧澤濤"
["有男人味的大叔"]=> string(9) "吳秀波"
}
array(6) {
["美"]=> string(6) "鳳姐"
["很美"]=> string(12) "芙蓉姐姐"
["verymei"]=> string(6) "楊冪"
["心中滴女神呀"]=> string(6) "華妃"
[100]=> string(6) "孫儷"
[101]=> string(6) "娘娘"
}
用過上面的例子,我們知道:
聲明關(guān)聯(lián)數(shù)組是 鍵名 => 值
在關(guān)聯(lián)數(shù)組可以有索引數(shù)組的元素
關(guān)聯(lián)數(shù)組中的索引數(shù)組的元素后再聲明了無下標(biāo)的元素,依然是最大值+1原則。(觀察上圖中的值為孫儷、娘娘的兩個元素)。
遍歷關(guān)聯(lián)數(shù)組
遍歷并打印關(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>"; } ?>
嘗試一下 ?
關(guān)于foreach循環(huán)在后面的章節(jié)會有詳細(xì)講解,參考PHP for 循環(huán)中的 foreach
切記
數(shù)組元素間的分割符為逗號,在數(shù)組中插入數(shù)組的時候,不要在結(jié)尾處寫成了分號(;) 下圖是錯誤的載圖展示:
多維數(shù)組
多維數(shù)組 將在 PHP 高級教程部分做詳細(xì)介紹。
完整的 PHP Array 參考手冊
如需查看所有數(shù)組函數(shù)的完整參考手冊,請訪問我們的 PHP Array 參考手冊。
該參考手冊提供了每個函數(shù)的簡要描述和應(yīng)用實例!