1.foreach函數
通過數組的下標,來實現在遍歷數組的過程中,對數組元素進行操作的功能。
例子:
1 //定義一個數組 2 $items=array("農葯1"=>"毒死蜱","農葯2"=>"吡蟲啉","農葯3"=>"啶蟲脒"); 3 //使用foreach函數遍歷數組 4 foreach($items as $keyname =>$value){ 5 if($value=="毒死蜱") 6 $value="$value(特惠價)"; 7 echo"($keyname)$value<br />"; 8 }
函數在循環的過程中,數組的值和鍵值都賦予給相應的變量。
2.list()函數
使用list函數,可以將數組中的值賦給一些變量。
列出數組全部元素值的例子:
1 //定義一個數組 2 $items=array("殺蟲劑","除草劑","化肥"); 3 //使用list函數 4 list($scj,$ccj,$hf)=$items; 5 echo "本店出售".$scj."、".$ccj.",另外還有大量的".$hf."貨品,歡迎選購!\n";
顯示:
本店出售殺蟲劑、除草劑,另外還有大量的化肥貨品,歡迎選購!
注意,list函數只適用於數字索引的數組。如果索引非數字,那么:
1 //定義一個數組 2 $items=array("索引1"=>"殺蟲劑","除草劑","化肥"); 3 //使用list函數 4 list($scj,$ccj,$hf)=$items; 5 echo "本店出售".$scj."、".$ccj.",另外還有大量的".$hf."貨品,歡迎選購!\n";
就會出現錯誤:
Notice: Undefined offset: 2 in D:\PHPnow\htdocs\v\v.php on line 17
本店出售除草劑、化肥,另外還有大量的貨品,歡迎選購!
選用部分值的例子:
1 <?php 2 3 //定義一個數組 4 $items=array("殺蟲劑","除草劑","化肥"); 5 //使用list函數,listing賦值全部變量 6 list($scj,$ccj,$hf)=$items; 7 echo "本店出售".$scj."、".$ccj.",另外還有大量的".$hf."貨品,歡迎選購!<br />"; 8 //賦值給部分變量 9 list($scj,,$hf)=$items; 10 echo "本店出售".$ccj.",另外還有大量的".$hf."貨品,歡迎選購!<br />"; 11 ?>
顯示:
本店出售殺蟲劑、除草劑,另外還有大量的化肥貨品,歡迎選購!
本店出售除草劑,另外還有大量的化肥貨品,歡迎選購!
只為其中一個變量賦值:
1 <?php 2 3 //定義一個數組 4 $items=array("殺蟲劑","除草劑","化肥"); 5 //使用list函數,listing賦值全部變量 6 list($scj,$ccj,$hf)=$items; 7 echo "本店出售".$scj."、".$ccj.",另外還有大量的".$hf."貨品,歡迎選購!<br />"; 8 //賦值給部分變量 9 list($scj,,$hf)=$items; 10 echo "本店出售".$ccj.",另外還有大量的".$hf."貨品,歡迎選購!<br />"; 11 //只賦值給一個變量 12 list(,,$hf)=$items; 13 echo "本店出售".$hf."。"; 14 ?>
顯示:
本店出售殺蟲劑、除草劑,另外還有大量的化肥貨品,歡迎選購!
本店出售除草劑,另外還有大量的化肥貨品,歡迎選購!
本店出售化肥。
3.each函數
例子:
1 <?php 2 3 //定義一個數組 4 $items=array("殺蟲劑","除草劑","化肥"); 5 $each=each($items); 6 print_r($each); 7 ?>
顯示:
Array ( [1] => 殺蟲劑 [value] => 殺蟲劑 [0] => 0 [key] => 0 )
鍵值對是4個單元的數組,0和key 是鍵名,1和value是數據。
另外一個例子:
1 <?php 2 3 //定義一個數組 4 $items=array("農葯1"=>"殺蟲劑","除草劑","化肥"); 5 $each=each($items); 6 print_r($each); 7 ?>
顯示:
Array ( [1] => 殺蟲劑 [value] => 殺蟲劑 [0] => 農葯1 [key] => 農葯1 )
each和list,經常配合使用,用來遍歷數組,例子:
1 <?php 2 3 //定義一個數組 4 $items=array("農葯1"=>"殺蟲劑","農葯2"=>"除草劑","化肥1"=>"化肥"); 5 reset($items); 6 while (list($key,$val)=each($items)){ 7 echo "$key:$val<br />"; 8 } 9 ?>
顯示:
農葯1:殺蟲劑
農葯2:除草劑
化肥1:化肥
使用each和list變量數組,可以達到與foreach一樣的效果,例子:
<?php //定義一個數組 $items=array("農葯1"=>"殺蟲劑","農葯2"=>"除草劑","化肥1"=>"化肥"); reset($items); while (list($key,$val)=each($items)){ if($val=="化肥") $val=$val."(沒有貨)"; echo "$key:$val<br />"; } ?>
顯示:
農葯1:殺蟲劑
農葯2:除草劑
化肥1:化肥(沒有貨)