大多數(shù)編程語(yǔ)言都支持?jǐn)?shù)字索引數(shù)組。在PHP中,數(shù)字索引的默認(rèn)值是從0開(kāi)始的,當(dāng)然也可以改變它。要?jiǎng)?chuàng)建一個(gè)數(shù)組,可以使用如下所示的代碼:$products = array("Tires", "Oil", "Spark Plugs");以上代碼將創(chuàng)建一個(gè)名為$products的數(shù)組,它包含3個(gè)值:Tires、Oil和Spark Plugs。注意,就像echo語(yǔ)句一樣,array()實(shí)際上是一個(gè)語(yǔ)言結(jié)構(gòu),而不是一個(gè)函數(shù)。根據(jù)對(duì)數(shù)組內(nèi)容的需求不同,可能不需要再像以上例子一樣對(duì)它們進(jìn)行手工的初始化操作。如果所需數(shù)據(jù)保存在另一個(gè)數(shù)組中,可以使用運(yùn)算符=簡(jiǎn)單地將數(shù)組復(fù)制到另一個(gè)數(shù)組。
【示例1】如果需要將按升序排列的數(shù)字保存在一個(gè)數(shù)組中,可以使用range()函數(shù)自動(dòng)創(chuàng)建這個(gè)數(shù)組。如下這行代碼將創(chuàng)建一個(gè)從1到10的數(shù)字?jǐn)?shù)組:$numbers = range(1, 10);range()函數(shù)具有一個(gè)可選的第三個(gè)參數(shù),這個(gè)參數(shù)允許設(shè)定值之間的步幅。例如,如需建立一個(gè)1到10之間的奇數(shù)數(shù)組,可以使用如下代碼:$odds = range(1, 10, 2);range()函數(shù)也可以對(duì)字符進(jìn)行操作,如下例所示:$letters = range("a", "z");如果信息保存在磁盤(pán)文件中,可以從這個(gè)文件直接載入到數(shù)組中。如果數(shù)組中使用的數(shù)據(jù)保存在數(shù)據(jù)庫(kù)中,可以從數(shù)據(jù)庫(kù)中直接載入數(shù)組。還可以使用不同的函數(shù)來(lái)提取數(shù)組中的一部分?jǐn)?shù)據(jù),或?qū)?shù)組進(jìn)行重新排序。要訪問(wèn)一個(gè)變量的內(nèi)容,可以直接使用其名稱(chēng)。如果該變量是一個(gè)數(shù)組,可以使用變量名稱(chēng)和關(guān)鍵字或索引的組合來(lái)訪問(wèn)其內(nèi)容。關(guān)鍵字或索引將指定要訪問(wèn)的變量。索引在變量名稱(chēng)后面用方括號(hào)括起來(lái)。
【示例2】使用$products[0]、$prod-ucts[1]、$products[2],就可以訪問(wèn)數(shù)組$products的內(nèi)容了。在默認(rèn)的情況下,0元素是數(shù)組的第一個(gè)元素。這和C語(yǔ)言、C++、Java以及許多其他編程語(yǔ)言的計(jì)數(shù)模式是相同的。如果你對(duì)這些內(nèi)容很陌生,就應(yīng)該先熟悉一下。像其他變量一樣,使用運(yùn)算符=可以改變數(shù)組元素的內(nèi)容。如下代碼將使用“Fuses”替換第一個(gè)數(shù)組元素中的“Tires”。$products[0] = "Fuses" ;而如下代碼可以增加一個(gè)新的元素“Fuses”到數(shù)組末尾,這樣,可以得到一個(gè)具有4個(gè)元素的數(shù)組:$products[3] = "Fuses" ;要顯示其內(nèi)容,可以使用如下代碼:echo "$products[0] $products[1] $products[2]";
注意:雖然PHP的字符串解析功能非常強(qiáng)大和智能,但是可能會(huì)引起混淆。當(dāng)將數(shù)組或其他變量嵌入雙引號(hào)中的字符串時(shí),如果不能正確解釋它們,可以將它們放置在雙引號(hào)之外。以上的echo語(yǔ)句是沒(méi)有語(yǔ)法錯(cuò)誤的,但是在更復(fù)雜的例子中,讀者將發(fā)現(xiàn)變量被放置在雙引號(hào)之外更安全。
【示例3】就像PHP的其他變量一樣,數(shù)組不需要預(yù)先初始化或創(chuàng)建。在第一次使用它們時(shí),它們會(huì)自動(dòng)創(chuàng)建。如下代碼創(chuàng)建了一個(gè)與前面使用array()語(yǔ)句創(chuàng)建的$products數(shù)組相同的數(shù)組:$products[0] = "Tires";$products[1] = "Oil";$products[2] = "Spark Plugs";如果$products并不存在,第一行代碼將創(chuàng)建一個(gè)只有一個(gè)元素的數(shù)組。而后續(xù)代碼將在這個(gè)數(shù)組中添加新的數(shù)值。數(shù)組的大小將根據(jù)所增加的元素多少動(dòng)態(tài)地變化。這種大小調(diào)整功能并沒(méi)有在其他大多數(shù)編程語(yǔ)言中應(yīng)用。
【示例4】由于數(shù)組使用有序的數(shù)字作為索引,所以使用一個(gè)for循環(huán)就可以很容易地顯示數(shù)組的內(nèi)容。for($i = 0; $i < 3; $i++) echo "$products[$i]";以上循環(huán)語(yǔ)句將給出類(lèi)似于前面的結(jié)果,但是,相對(duì)于通過(guò)手工編寫(xiě)代碼來(lái)操作一個(gè)大數(shù)組來(lái)說(shuō),這樣做需要手工輸入的代碼更少。使用一個(gè)簡(jiǎn)單的循環(huán)就可以訪問(wèn)每個(gè)元素是數(shù)字索引數(shù)組的一個(gè)非常好的特性。也可以使用foreach循環(huán),這個(gè)循環(huán)語(yǔ)句是專(zhuān)門(mén)為數(shù)組而設(shè)計(jì)的。在這個(gè)例子中,可以按如下所示的方式使用它:foreach( $products as $current) echo "$current";以上代碼將依次將$products數(shù)組中每個(gè)元素的值保存到$current變量中,并且打印它們。
當(dāng)前文章標(biāo)題:定義數(shù)字索引數(shù)組
當(dāng)前URL:http://www.ww44088.com/news/wzzz/3286.html
上一篇:使用數(shù)組
下一篇:使用不同索引的數(shù)組