php数组的索引的学习笔记

存储在数组中的值被称为数组元素,每个数组元素有一个相关的引索(也称为关键字),可以用来访问元素。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 循环来显示数组的内容:

  1. for ($i = 0; $i<6; i++) {
  2. echo $num[$i];
  3. }

非数字索引数组:

在PHP中,数组不需要预先初始化或者创建。

$products[0] = rice;

$products[1] = milk;

这样就建立了一个数组 $products ,第一行代码是创建一个只有 rice 元素的数组。

还可以使用 => 将每个变量值与关键字关联起来。

$prices = array('rice' => 10, 'milk' => 20);

和之前一样,可以使用 $prices[‘rice’] 的方式访问数组,这也是日常使用中常见的方式。

由于非数字索引数组的索引是关键字,所以可以使用 foreach 循环或 list() 和 each() 结构来进行循环访问。

foreach循环:

  1. foreach ($prices as $key => $value) {
  2. echo $key."-".$value."<br />";
  3. }

each()结构:

  1. while ($element = each($prices)) {
  2. echo $element['key'];
  3. echo "-";
  4. echo $element['value'];
  5. echo "<br />";
  6. }

each() 这个函数将返回数组的当前元素,并将下一个元素作为当前元素。因为在 while 循环中调用 each() 函数,它将按顺序返回数组中每个元素,并且当它到达数组末尾时,循环操作终止。

list()结构:

  1. while(list($produce, $price) = each($pirces) {
  2. echo "$product - $"proce<br />";
  3. }