#等语言中的数组最大的不同之处。下面举个例子。
以下代码:
复制代码 代码如下:
1 <?php
2 $array5[''one'']=''a'';
3 if(!isset($array5[0]))
4 {
5 echo ''<p>$array5[0]是空的!</p>'';
6 }
7 ?>
其结果为:
$array5[0]是空的!
说明:$array5[0]所代表的是数组中键为数值0的元素的值(并不像C#等语言代表数组的第一个元素),由于数组只有键为字符串‘one''这一元素,没有元素的键为0,所以$array5[0]是空的。
3>PHP支持两种数组:索引数组(indexed array)和联合数组(associative array),前者使用数字作为键,后者使用字符串作为键。在创建数组时可以混合使用数字和字符串作为元素的键。如下所示代码:
复制代码 代码如下:
1 <?php
2 $array9=array(1=>''a'', 2=>''b'', ''one''=>''c'', ''two''=>''d'', ''e'', ''f'', ''g'');
3 echo ''<p>数组$array9的键和值为:</p>'';
4 print_r($array9);
5 ?>
其结果为:
数组$array9的键和值为:
Array ( => a => b [one] => c [two] => d => e => f => g )
4>变量也可以作为数组的键,如下所示:
复制代码 代码如下:
1 <?php
2 $key1=''one'';
3 $key2=''two'';
4 $key3=''three'';
5 $array10[$key1]=''a'';
6 $array10[$key2]=''b'';
7 $array10[$key3]=''c'';
8 echo ''<p>数组$array10的键和值为:</p>'';
9 print_r($array10);
10 ?>
其结果为:
数组$array10的键和值为:
Array ( [one] => a [two] => b [three] => c )
二、如何访问数组的元素
1、 一般方法
要获取数组中的某个元素,只需要使用数组名加中括号加某个键即可,调用方法如下所示:
$arrayname[key];
2、 使用foreach结果遍历数组
如果要访问每个数组元素,可以使用foreach循环:
Foreach($array as $value)
{
//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 ''<