在本教程中,您將學(xué)習(xí)如何在PHP中的單個(gè)變量中存儲(chǔ)多個(gè)值。
數(shù)組是復(fù)雜的變量,允許我們?cè)趩蝹€(gè)變量名下存儲(chǔ)多個(gè)值或一組值。 假設(shè)您想要在PHP腳本中存儲(chǔ)顏色,將顏色逐個(gè)存儲(chǔ)在變量中可能如下所示:
<?php $color1 = "Red"; $color2 = "Green"; $color3 = "Blue"; echo $color1; echo "<br>"; echo $color2; echo "<br>"; echo $color3; ?>測試看看?/?
但是,如果您想將國家/地區(qū)的州名或城市名存儲(chǔ)在變量中,那么這次不只是三個(gè)就可能是一百個(gè)。 將每個(gè)城市的名稱存儲(chǔ)在單獨(dú)的變量中是非常困難,糟糕且不明智的做法。 數(shù)組在這里就開始起作用了。
您可以創(chuàng)建三種類型的數(shù)組。這些是:
索引數(shù)組 — 具有數(shù)字鍵的數(shù)組。
關(guān)聯(lián)數(shù)組 — 每個(gè)鍵都有其特定值的數(shù)組。
多維數(shù)組 — 本身包含一個(gè)或多個(gè)數(shù)組的數(shù)組。
索引數(shù)組或數(shù)字?jǐn)?shù)組存儲(chǔ)每個(gè)具有數(shù)字索引的數(shù)組元素。以下示例顯示了創(chuàng)建索引數(shù)組的兩種方法,最簡單的方法是:
<?php //定義一個(gè)索引數(shù)組 $colors = array("Red", "Green", "Blue"); // 打印數(shù)組結(jié)構(gòu) print_r($colors); ?>測試看看?/?
注意:在索引或數(shù)字?jǐn)?shù)組中,將自動(dòng)分配索引并從0開始,并且值可以是任何數(shù)據(jù)類型。
這等效于以下示例,其中手動(dòng)分配了索引:
<?php $colors[0] = "Red"; $colors[1] = "Green"; $colors[2] = "Blue"; // 打印數(shù)組結(jié)構(gòu) print_r($colors); ?>測試看看?/?
在關(guān)聯(lián)數(shù)組中,分配給值的鍵可以是任意的和用戶定義的字符串。在以下示例中,數(shù)組使用鍵而不是索引號(hào):
<?php //定義一個(gè)關(guān)聯(lián)數(shù)組 $ages = array("Peter"=>22, "Clark"=>32, "John"=>28); // 打印數(shù)組結(jié)構(gòu) print_r($ages ); ?>測試看看?/?
下面的示例與前面的示例等效,但是顯示了創(chuàng)建關(guān)聯(lián)數(shù)組的另一種方式:
<?php $ages["Peter"] = "22"; $ages["Clark"] = "32"; $ages["John"] = "28"; // 打印數(shù)組結(jié)構(gòu) print_r($ages ); ?>測試看看?/?
多維數(shù)組是一個(gè)數(shù)組,其中每個(gè)元素也可以是一個(gè)數(shù)組,子數(shù)組中的每個(gè)元素可以是一個(gè)數(shù)組,或者進(jìn)一步在其內(nèi)部包含數(shù)組,依此類推。多維數(shù)組的示例如下所示:
<?php //定義多維數(shù)組 $contacts = array( array( "name" => "Peter Parker", "email" => "peterparker@mail.com", ), array( "name" => "Clark Kent", "email" => "clarkkent@mail.com", ), array( "name" => "Harry Potter", "email" => "harrypotter@mail.com", ) ); //訪問嵌套值 echo "彼得.帕克的電子郵件 id 是: " . $contacts[0]["email"]; ?>測試看看?/?
您可以使用兩個(gè)語句 var_dump()或 print_r() 之一,查看任何數(shù)組的結(jié)構(gòu)和值。但是print_r()語句提供的信息稍少一些。看以下示例:
<?php //定義數(shù)組 $cities = array("London", "Paris", "New York"); //顯示城市數(shù)組 print_r($cities); ?>測試看看?/?
print_r() 語句提供以下輸出:
Array ( [0] => London [1] => Paris [2] => New York )
此輸出顯示數(shù)組中每個(gè)元素的鍵和值。要獲取更多信息,請(qǐng)使用以下語句:
<?php //定義數(shù)組 $cities = array("London", "Paris", "New York"); //顯示城市數(shù)組 var_dump($cities); ?>測試看看?/?
var_dump()語句提供以下輸出:
array(3)?{?[0]=>?string(6) "London" [1]=>?string(5) "Paris" [2]=>?string(8) "New?York"?}
除了鍵和值,此輸出還顯示每個(gè)元素的數(shù)據(jù)類型,例如6個(gè)字符的字符串。在下一章,您將學(xué)習(xí)如何對(duì)數(shù)組元素進(jìn)行排序。
在循環(huán)章節(jié)中,您將學(xué)習(xí)如何遍歷數(shù)組的值。