使用不同索引的數組

  • 2020-10-13 13:12:03
  • 閱讀次數:次
  • 作者:盈嵐科技小編
  • 來(lái)源:http://amzcoolest.com

網(wǎng)站建設中的$products數組中,允許PHP為每個(gè)元素指定一個(gè)默認的索引。這就意味著(zhù),所添加的第一個(gè)元素為元素0,第二個(gè)為元素1等。PHP還支持相關(guān)數組。在相關(guān)數組中,可以將每個(gè)變量值與任何關(guān)鍵字或索引關(guān)聯(lián)起來(lái)。

【示例1】創(chuàng )建一個(gè)以產(chǎn)品名稱(chēng)作為關(guān)鍵字、以?xún)r(jià)格作為值的相關(guān)數組。代碼如下:

$prices = array("Tires" =>100, "Oil"=>10, "Spark Plugs"=>4);

關(guān)鍵字和值之間的符號只是一個(gè)在大于號之前的等于符號。同樣,可以使用變量名稱(chēng)和關(guān)鍵字來(lái)訪(fǎng)問(wèn)數組的內容,因此就可以通過(guò)如下方式訪(fǎng)問(wèn)保存在prices數組中的信息。

$prices["Tires"];$prices["Oil"];$prices["Spark Plugs"];

【示例2】創(chuàng )建一個(gè)與$prices數組相同的數組。這種方法并不是創(chuàng )建一個(gè)具有3個(gè)元素的數組,而是創(chuàng )建一個(gè)只有一個(gè)元素的數組,然后再加上另外兩個(gè)元素。代碼如下:$prices = array("Tires" =>100);$prices["Oil"] = 10;$prices["Spark Plugs"] = 4;與下面這段代碼有些不同,但其功能與以上代碼是等價(jià)的。在這種方法中,并沒(méi)有明確地創(chuàng )建一個(gè)數組。數組是在向這個(gè)數組加入第一個(gè)元素時(shí)創(chuàng )建的。$prices["Tires"] = 100;$prices["Oil"] = 10;$prices["Spark Plugs"] = 4;因為相關(guān)數組的索引不是數字,因此無(wú)法在for循環(huán)語(yǔ)句中使用一個(gè)簡(jiǎn)單的計數器對數組進(jìn)行操作。但是可以使用foreach循環(huán)或list()和each()結構。當使用foreach循環(huán)語(yǔ)句對相關(guān)數組進(jìn)行操作時(shí),foreach循環(huán)具有不同的結構??梢栽谇懊娴睦又惺褂眠@個(gè)循環(huán)語(yǔ)句,也可以按如下方式使用關(guān)鍵字。foreach( $prices as $key => $value)     echo $key.'=>'.$value.'<br />';【示例3】也可以使用each()打印$prices數組的內容,代碼如下:while($element = each($prices)){     echo $element['key'];     echo '=>';     echo $element['value'];     echo '<br />';     }each()函數能夠返回數組的當前元素,并將下一個(gè)元素作為當前元素。因為在while循環(huán)中調用each()函數,它將按順序返回數組中每個(gè)元素,并且當它到達數組末尾時(shí),循環(huán)操作將終止。

在上面這段代碼中,變量$element是一個(gè)數組。當調用each()時(shí),它將返回一個(gè)帶有4個(gè)數值和4個(gè)指向數組位置的索引的數組。位置key和0包含了當前元素的關(guān)鍵字,而位置value和1包含了當前元素的值。雖然這與選哪一種方法沒(méi)什么不同,但選擇了使用命名位置,而不是數字索引位置。

此外,還有一種更為高級和常見(jiàn)的方式來(lái)完成相同的操作。函數list()可以用來(lái)將一個(gè)數組分解為一系列的值??梢园凑杖缦路绞綄⒑瘮礶ach()返回的兩個(gè)值分開(kāi):list($product, $price) = each($prices);以上代碼使用each()從$prices數組中取出當前元素,并且將它作為數組返回,然后再指向下一個(gè)元素。它還使用list()將從each()返回的數組中所包含0、1兩個(gè)元素變?yōu)閮蓚€(gè)名為$product和$price的新變量??梢匝h(huán)遍歷整個(gè)$prices數組,使用如下所示的簡(jiǎn)短腳本顯示它的內容:while(list($product, $price) = each($prices))     echo "$product => $price<br />";這段代碼的輸出結果與前面腳本的輸出結果相同,但它更容易閱讀,因為list()允許為新變量命名。需要注意的一點(diǎn)是,當使用each()函數時(shí),數組將記錄當前元素。如果希望在相同的腳本中兩次使用該數組,就必須使用函數reset()將當前元素重新設置到數組開(kāi)始處。要再次遍歷prices數組,可以使用如下所示的代碼:

reset($prices) ;while(list($product, $price) = each($prices))     echo "$product => $price<br />";

以上代碼可以將當前元素重新設置到數組開(kāi)始處,再次遍歷數組。

當前文章標題:使用不同索引的數組

當前URL:http://amzcoolest.com/news/wzzz/3287.html

上一篇:定義數字索引數組

下一篇:常用網(wǎng)頁(yè)設計軟件

網(wǎng)站建設、抖音推廣、頭條推廣、微信朋友圈推廣、快手推廣專(zhuān)線(xiàn):15368242187(微信同號)
亚洲精品无码mv在线|新国产精品视频福利免费|日韩高清在线观看不卡一区二区|一本久久a久久精品免费不|亚洲私人无码内射免费观看