PHP学习笔记之数组篇

2019-04-09 03:53:14王冬梅


{

//Do something with $value

}

Foreach循环将会迭代数组$array中每个元素,并把每个元素的值赋予$value变量,下面举个例子:

1 <?php
2 $array11=array('a','b','c','d','e');
3 echo '<p>数组$array11的值为:';
4 foreach($array11 as $value)
5 {
6 echo $value.',';
7 }
8 echo '</p>';
9 ?>

其输出结果为:

数组$array11的值为:a,b,c,d,e,



使用foreach还可以同时访问数组元素的键和值,可以使用:

Foreach($array as $key => $value)

{

//Do something with $key and $value

}

其中$key为每个元素的键,$value元素的值,下面的代码演示如何使用foreach结构创建一个下拉框:

1 <?php
2 $array12=array('one'=>1,'two'=>2,'three'=>3,'four'=>4,'five'=>5);
3 echo '<select name="onetofive">';
4 foreach($array12 as $key => $value)
5 {
6 echo "<option value="$value">$key</option>";
7 }
8 echo '</select>';
9 ?>


3、 使用list函数访问数组

List函数是把数组中的值赋给一些变量,其函数语法如下:

Void list(mixed varname, mixed varname2……)

看如下示例:

1 <?php
2 $array13=array('red','blue','green');
3 //赋值给所有的变量
4 list($flag1,$sky1,$grassland1)=$array13;
5 echo "$flag1 $sky1 $grassland1";
6 echo '<br>';
7 //赋值给部分变量
8 list($flag2,,$grassland2)=$array13;
9 echo "$flag2 $grassland2";
10 echo '<br>';
11 //只赋值给第三个变量
12 list(,,$grassland3)=$array13;
13 echo "$grassland3";
14 echo '<br>';
15 ?>

输出结果为:

red blue green
red green
green

注意: list() 仅能用于数字索引的数组并且数字索引必须从 0 开始。

因为list函数是先把数组中键为0的元素值赋值给第一个变量,再把键为1的元素值赋值给第二个变量,以此类推,所以list函数中的变量个数和位置必须和数组中的数字键相对应,才能获得想要的值,而且list函数是访问不到以字符串作为键的数组元素的。如下所示:

1 <?php
2 $array13=array(1=>'red','blue','green');
3 list($flag1,$sky1,$grassland1)=$array13;
4 echo '$flag1的值为:'.$flag1.'<br>';
5 echo '$sky1的值为:'.$sky1.'<br>';
6 echo '$grassland1的值为:'.$grassland1.'<br>';
7 ?>

其输出结果为:

$flag1的值为:
$sky1的值为:red
$grassland1的值为:blue

说明:因为$flag1的值本应为数组中键为0的元素值,但此数组首元素是以1为键,没有键为0的元素,所以$flag1的值为空,因此也导致后面$sky1和$grassland1的值发生了变化。

4、 使用each函数访问数组
相关文章 大家在看