2>无论是以数字还是以字符串作为数组元素的键,其所代表的都只是此元素的键,与此元素在数组中的位置无直接关系,这是与C#等语言中的数组最大的不同之处。下面举个例子。 以下代码: <?php $array5['one']='a'; if(!isset($array5[0])) { echo '<p>$array5[0]是空的!</p>'; } ?> 其结果为: $array5[0]是空的! 说明:$array5[0]所代表的是数组中键为数值0的元素的值(并不像C#等语言代表数组的第一个元素),由于数组只有键为字符串‘one'这一元素,没有元素的键为0,所以$array5[0]是空的。 3>PHP支持两种数组:索引数组(indexed array)和联合数组(associative array),前者使用数字作为键,后者使用字符串作为键。在创建数组时可以混合使用数字和字符串作为元素的键。如下所示代码: <?php $array9=array(1=>'a', 2=>'b', 'one'=>'c', 'two'=>'d', 'e', 'f', 'g'); echo '<p>数组$array9的键和值为:</p>'; print_r($array9); ?> 其结果为: 数组$array9的键和值为: Array ( [1] => a [2] => b [one] => c [two] => d [3] => e [4] => f [5] => g ) 4>变量也可以作为数组的键,如下所示: <?php $key1='one'; $key2='two'; $key3='three'; $array10[$key1]='a'; $array10[$key2]='b'; $array10[$key3]='c'; echo '<p>数组$array10的键和值为:</p>'; print_r($array10); ?> 其结果为: 数组$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变量,下面举个例子: 代码如下: <?php $array11=array('a','b','c','d','e'); echo '<p>数组$array11的值为:'; foreach($array11 as $value) { echo $value.','; } echo '</p>'; ?> 其输出结果为: 数组$array11的值为:a,b,c,d,e, 使用foreach还可以同时访问数组元素的键和值,可以使用: Foreach($array as $key => $value) { //Do something with $key and $value } 其中$key为每个元素的键,$value元素的值,下面的代码演示如何使用foreach结构创建一个下拉框: 代码如下: <?php $array12=array('one'=>1,'two'=>2,'three'=>3,'four'=>4,'five'=>5); echo '<select name="onetofive">'; foreach($array12 as $key => $value) { echo "<option value=/"$value/">$key</option>"; } echo '</select>'; ?> |