在PHP数组中,允许PHP为每个元素指定一个默认的索引,即数字索引。除此之外,PHP还支持关联数组,可以将每个变量值与任何关键字或索引关联起来。
一、初始化关联数组
$fruit = array('apple'=>5,'peach'=>10,'watermelon'=>8);
以上代码创建了一个以水果名称为关键字,以价格为值的关联数组,关键字和值之间的符号只是一个大于号之前加一个等于符号。除此之外,还可以通过一下方式来初始化:
$fruit['strawberry'] = 13;二、访问数组元素
对数组内容的访问,可以通过变量名称和关键字来实现。因此,可以通过这样的方式访问保存在$fruit数组的信息。例如:$fruit['apple']、$fruit['peach']、$fruit['watermelon']。
三、使用循环语句遍历数组
由于关联数组的索引不是数字,因此无法用for循环语句来对数组进行操作,但是可以使用foreach循环或list()和each()结构。
1、使用foreach循环语句:
foreach($fruit as $key=>$value){ echo $key."-".$value."<br/>"; }2、使用each()结构打印$fruit数组内容:
while($element = each($fruit)){ echo $element['key']."-".$element['value']."<br/>"; }each()函数将返回数组的当前元素,并将下一个元素作为当前元素。在循环结构中,按顺序返回数组的每个元素,直到到达数组末尾,循环终止。在以上代码中,$element也是一个数组,$element['key']保存当前元素的关键字, $element['value']保存当前元素的值。
3、使用list()函数:
while(list($key,$value) = each($fruit)){ echo $key."-".$value."<br/>"; }函数list()可以用来将一个数组分解为一系列的值,可以通过以下方式将each()函数返回的当前元素的关键字和值分开。另外,需要注意一点的是,当使用each()函数时,数组当记录当前元素。如果希望两次遍历数组,就必须使用函数reset()将当前元素重新设置到数组开始处。
while($element = each($fruit)){ echo $element['key']."-".$element['value']."<br/>"; } reset($fruit); while(list($key,$value) = each($fruit)){ echo $key."-".$value."<br/>"; }通过以上代码,才可以两次遍历完$fruit数组内容。