Php 简明教程
PHP - Indexed Array
在 PHP 中,数组元素可以是键值对的集合,也可以仅包含值。如果数组仅包含值,则称之为索引数组,因为每个元素都由一个递增的索引标识,从“0”开始。
可以使用 array() 函数或方括号语法在 PHP 中创建一个索引数组。
$arr1 = array("a", 10, 9.99, true);
$arr2 = ["a", 10, 9.99, true];
数组中的每个元素都有一个位置索引,第一个元素的索引为“0”。var_dump() 函数揭示了这些数组的结构化信息,如下所示:
array(4) {
[0]=>
string(1) "a"
[1]=>
int(10)
[2]=>
float(9.99)
[3]=>
bool(true)
}
我们可以使用索引遍历数组,获取给定索引处的值或修改元素的值。
Traversing an Indexed Array in PHP
任何类型的 PHP 循环都可以用来遍历数组。如果我们想使用 for 或 while 循环,我们必须使用 count() 函数找到数组中的元素数量,并将其值用作计数 for 或 while 循环的测试条件。
Example
以下代码使用 for 循环列出索引数组中的所有元素。
<?php
$numbers = array(10, 20, 30, 40, 50);
for ($i=0; $i<count($numbers); $i++){
echo "numbers[$i] = $numbers[$i] \n";
}
?>
它将生成以下 output −
numbers[0] = 10
numbers[1] = 20
numbers[2] = 30
numbers[3] = 40
numbers[4] = 50
您还可以使用 while 或 do-while 循环遍历索引数组。同样,我们需要使用 count() 函数找到数组长度。
Accessing the Array Elements Using Index
使用 array[index] 语法,可以访问数组中的任何值。特定索引处的可以分配新值。从而对数组进行修改。
Example
以下程序从数组 $arr1 中获取值,并以相反的顺序将它们放在 $arr2 中,因此 $arr1 中的第 0 个位置的值将变为 $arr2 中的最后一个值。
<?php
$arr1 = array(10, 20, 30, 40, 50);
$size = count($arr1);
for ($i=0; $i<$size; $i++){
$arr2[$size-$i-1] = $arr1[$i];
}
for ($i=0; $i<$size; $i++){
echo "arr1[$i] = $$arr1[$i] arr2[$i] = $$arr2[$i] \n";
}
?>
它将生成以下 output −
arr1[0] = $10 arr2[0] = $50
arr1[1] = $20 arr2[1] = $40
arr1[2] = $30 arr2[2] = $30
arr1[3] = $40 arr2[3] = $20
arr1[4] = $50 arr2[4] = $10
Traversing an Indexed Array Using "foreach" Loop
您还可以使用 foreach 来遍历一个索引数组。看看下面的 example −
<?php
$arr1 = [10, 20, 30, 40, 50];
foreach ($arr1 as $val){
echo "$val \n";
}
?>
它将生成以下 output −
10
20
30
40
50
请注意,PHP 在内部将索引数组视为关联数组,其中索引被视为键。此事实可以通过数组的 var_dump() 输出得到验证。