使用不同索引的數(shù)組

  • 2020-10-13 13:12:03
  • 閱讀次數(shù):
  • 作者:盈嵐科技小編
  • 來源:http://www.iy5y368.cn

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

【示例1】創(chuàng)建一個以產品名稱作為關鍵字、以價格作為值的相關數(shù)組。代碼如下:

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

關鍵字和值之間的符號只是一個在大于號之前的等于符號。同樣,可以使用變量名稱和關鍵字來訪問數(shù)組的內容,因此就可以通過如下方式訪問保存在prices數(shù)組中的信息。

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

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

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

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

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

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

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

當前URL:http://www.iy5y368.cn/news/wzzz/3287.html

上一篇:定義數(shù)字索引數(shù)組

下一篇:常用網頁設計軟件

網站建設、抖音推廣、頭條推廣、微信朋友圈推廣、快手推廣專線:15368242187(微信同號)