存储在数组中的值被称为数组元素,每个数组元素有一个相关的引索(也称为关键字),可以用来访问元素。PHP允许间隔性的使用数字或字符串作为数组的引索。使用字符串作为引索更具有意义和便于使用。
数字索引数组
创建一个数组可以使用如下代码:
$num = array(1, 2, 3, 4, 5, 6);
以上代码会创建一个名为 $num 的数组,包含数字从1~6,array() 是一个语言结构,而不是函数。
如果需要按照升序排列数字保存在一个数组中,可以使用 range()函数自动创建这个数组。
$num1 = range(1, 10);
这行代码将创建一个1~10的数字数组。range()函数也可以对字符进行操作。
要访问一个数组,可以使用变量名称和关键字或索引的组合来访问其内容。使用 $num[0] ,就可以使用数组 $num 中的数据了。在PHP中,数字索引的默认值是从0开始的。
$num[0] = 1;
数字数组使用有序的数字作为引索,可以使用 for 循环来显示数组的内容:
for ($i = 0; $i<6; i++) {
echo $num[$i];
}
非数字索引数组
在PHP中,数组不需要预先初始化或者创建。
$products[0] = rice;
$products[1] = milk;
这样就建立了一个数组 $products ,第一行代码是创建一个只有 rice 元素的数组。
还可以使用 => 将每个变量值与关键字关联起来。
$prices = array('rice' => 10, 'milk' => 20);
和之前一样,可以使用 $prices[‘rice’] 的方式访问数组,这也是日常使用中常见的方式。
由于非数字索引数组的索引是关键字,所以可以使用 foreach 循环或 list() 和 each() 结构来进行循环访问。
foreach循环
foreach ($prices as $key => $value) {
echo $key."-".$value."<br />";
}
each()结构
while ($element = each($prices)) {
echo $element['key'];
echo "-";
echo $element['value'];
echo "<br />";
}
each() 这个函数将返回数组的当前元素,并将下一个元素作为当前元素。因为在 while 循环中调用 each() 函数,它将按顺序返回数组中每个元素,并且当它到达数组末尾时,循环操作终止。
list()结构
while(list($produce, $price) = each($pirces) {
echo "$product - $"proce<br />";
}