php数组的索引的学习笔记

作者:袖梨 2022-06-24

存储在数组中的值被称为数组元素,每个数组元素有一个相关的引索(也称为关键字),可以用来访问元素。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."
";
}
 
each()结构


while ($element = each($prices)) {
  echo $element['key'];
  echo "-";
  echo $element['value'];
  echo "
";
}
 
each() 这个函数将返回数组的当前元素,并将下一个元素作为当前元素。因为在 while 循环中调用 each() 函数,它将按顺序返回数组中每个元素,并且当它到达数组末尾时,循环操作终止。

list()结构


while(list($produce, $price) = each($pirces) {
  echo "$product - $"proce
";
}
 

相关文章

精彩推荐