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:化肥(没有货)