PHP获取数组当前的元素

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:化肥(没有货)
原文地址:https://www.cnblogs.com/4php/p/2706034.html