PHP 數(shù)組
數(shù)組能夠在單獨的變量名中存儲一個或多個值。
什么是數(shù)組?
在使用 PHP 進(jìn)行開發(fā)的過程中,或早或晚,您會需要創(chuàng)建許多相似的變量。
無需很多相似的變量,你可以把數(shù)據(jù)作為元素存儲在數(shù)組中。
數(shù)組中的元素都有自己的 ID,因此可以方便地訪問它們。
有三種數(shù)組類型:
- 數(shù)值數(shù)組
- 帶有數(shù)字 ID 鍵的數(shù)組
- 關(guān)聯(lián)數(shù)組
- 數(shù)組中的每個 ID 鍵關(guān)聯(lián)一個值
- 多維數(shù)組
- 包含一個或多個數(shù)組的數(shù)組
數(shù)值數(shù)組
數(shù)值數(shù)組存儲的每個元素都帶有一個數(shù)字 ID 鍵。
可以使用不同的方法來創(chuàng)建數(shù)值數(shù)組:
例子 1
在這個例子中,會自動分配 ID 鍵:
$names = array("Peter","Quagmire","Joe");
例子 2
在這個例子中,我們?nèi)斯し峙涞?ID 鍵:
$names[0] = "Peter"; $names[1] = "Quagmire"; $names[2] = "Joe";
可以在腳本中使用這些 ID 鍵:
<?php $names[0] = "Peter"; $names[1] = "Quagmire"; $names[2] = "Joe"; echo $names[1] . " and " . $names[2] . " are ". $names[0] . "'s neighbors"; ?>
以上代碼的輸出:
Quagmire and Joe are Peter's neighbors
關(guān)聯(lián)數(shù)組
關(guān)聯(lián)數(shù)組,它的每個 ID 鍵都關(guān)聯(lián)一個值。
在存儲有關(guān)具體命名的值的數(shù)據(jù)時,使用數(shù)值數(shù)組不是最好的做法。
通過關(guān)聯(lián)數(shù)組,我們可以把值作為鍵,并向它們賦值。
例子 1
在本例中,我們使用一個數(shù)組把年齡分配給不同的人:
$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);
例子 2
本例與例子 1 相同,不過展示了另一種創(chuàng)建數(shù)組的方法:
$ages['Peter'] = "32"; $ages['Quagmire'] = "30"; $ages['Joe'] = "34";
可以在腳本中使用 ID 鍵:
<?php $ages['Peter'] = "32"; $ages['Quagmire'] = "30"; $ages['Joe'] = "34"; echo "Peter is " . $ages['Peter'] . " years old."; ?>
以上腳本的輸出:
Peter is 32 years old.
多維數(shù)組
在多維數(shù)組中,主數(shù)組中的每個元素也是一個數(shù)組。在子數(shù)組中的每個元素也可以是數(shù)組,以此類推。
例子 1
在本例中,我們創(chuàng)建了一個帶有自動分配的 ID 鍵的多維數(shù)組:
$families = array ( "Griffin"=>array ( "Peter", "Lois", "Megan" ), "Quagmire"=>array ( "Glenn" ), "Brown"=>array ( "Cleveland", "Loretta", "Junior" ) );
如果輸出這個數(shù)組的話,應(yīng)該類似這樣:
Array ( [Griffin] => Array ( [0] => Peter [1] => Lois [2] => Megan ) [Quagmire] => Array ( [0] => Glenn ) [Brown] => Array ( [0] => Cleveland [1] => Loretta [2] => Junior ) )
例子 2
讓我們試著顯示上面的數(shù)組中的一個單一的值:
echo "Is " . $families['Griffin'][2] . " a part of the Griffin family?";
以上代碼的輸出:
Is Megan a part of the Griffin family?