- PHP 菜鸟教程
- PHP - 教程
- PHP - 简介
- PHP - 安装
- PHP - 历史
- PHP - 功能
- PHP - 语法
- PHP - Hello World
- PHP - 注释
- PHP - 变量
- PHP - echo 语句和 print 语句
- PHP - var_dump() 函数
- PHP - $ 和 $$ 变量
- PHP - 常量
- PHP - 魔术常量
- PHP – 数据类型
- PHP - 类型转换
- PHP - 类型戏法
- PHP - 字符串
- PHP - 布尔值
- PHP - 整数
- PHP - 文件和I/O
- PHP – 数学函数
- PHP - Heredoc & Nowdoc
- PHP - 复合类型
- PHP - 文件包含
- PHP - 日期和时间
- PHP - 标量类型声明
- PHP - 返回类型声明
- PHP 运算符
- PHP - 运算符类型
- PHP - 算术运算符示例
- PHP - 比较运算符示例
- PHP - 逻辑运算符示例
- PHP - 赋值运算符示例
- PHP – 字符串运算符
- PHP – 数组运算符
- PHP – 条件运算符示例
- PHP - Spread 运算符
- PHP - Null 合并运算符
- PHP - Spaceship 运算符
- PHP 控制语句
- PHP – 决策
- PHP - If…Else 语句
- PHP - Switch 语句
- PHP – 循环类型
- PHP - For 循环
- PHP - Foreach 循环
- PHP - While 循环
- PHP - do...While 循环
- PHP - Break 语句
- PHP - Continue 语句
- PHP 数组
- PHP - 数组
- PHP - 索引数组
- PHP - 关联数组
- PHP - 多维数组
- PHP - 数组函数
- PHP - 常量数组
- PHP 函数
- PHP - 函数
- PHP - 函数参数
- PHP - 按值调用
- PHP - 按引用调用
- PHP - 默认参数
- PHP - 命名参数
- PHP - 变量参数
- PHP - 返回值
- PHP - 传递函数
- PHP - 递归函数
- PHP - 类型提示
- PHP - 变量范围
- PHP - 严格类型
- PHP - 匿名函数
- PHP - 箭头( Arrow )函数
- PHP - 变量处理函数
- PHP - 局部变量
- PHP - 全局变量
- PHP 超全局变量
- PHP - 超全局变量
- PHP - $GLOBALS 变量
- PHP - $_SERVER 变量
- PHP - $_REQUEST 变量
- PHP - $_POST 变量
- PHP - $_GET 变量
- PHP - $_FILES 变量
- PHP - $_ENV 变量
- PHP - $_COOKIE 变量
- PHP - $_SESSION 变量
- PHP 文件处理
- PHP - 文件处理
PHP - 索引数组
在 PHP 中,数组元素可以是键值对的集合,也可以只包含值。如果数组仅包含值,则称其为索引数组,因为每个元素都由递增索引标识,从“0”开始。
PHP 索引数组可以通过使用 array() 函数或方括号语法来创建。
$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)
}
我们可以使用索引遍历数组,在给定索引处获取值或就地修改元素的值。
PHP 遍历索引数组
可以使用任何类型的 PHP 循环来遍历数组。如果我们想使用 for 或 while 循环,我们必须使用 count() 函数找到数组中的元素数量,并使用其值作为计数的 for 或 while 循环的测试条件。
例子
下面的代码使用 for 循环列出索引数组中的所有元素。
<?php
$numbers = array(10, 20, 30, 40, 50);
for ($i=0; $i<count($numbers); $i++){
echo "numbers[$i] = $numbers[$i] \n";
}
?>
它将产生以下输出 -
numbers[1] = 20
numbers[2] = 30
numbers[3] = 40
numbers[4] = 50
您还可以使用 while 或 do-while 循环来遍历索引数组。在这里,我们也需要使用 count() 函数找到数组长度。
例子
以下代码以相反的顺序遍历给定的索引数组 -
<?php
$numbers = array(10, 20, 30, 40, 50);
$i = count($numbers)-1;
while ($i>=0){
echo "numbers[$i] = $numbers[$i] \n";
$i--;
}
?>
将产生以下输出:
numbers[3] = 40
numbers[2] = 30
numbers[1] = 20
numbers[0] = 10
使用 index 访问数组元素
你可以使用 array[index] 语法从数组中访问任何值。可以为特定索引处的值分配新值。因此,数组就地修改。
例子
下面的程序从数组 $arr 1 中获取值,并将它们以相反的顺序放在 $arr 2 中。因此,$arr 1 中第 0 位的值将成为 $arr 2 中的最后一个值。
<?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";
}
?>
将产生以下输出 -
arr1[1] = $20 arr2[1] = $40
arr1[2] = $30 arr2[2] = $30
arr1[3] = $40 arr2[3] = $20
arr1[4] = $50 arr2[4] = $10
使用 “foreach” 循环遍历索引数组
您还可以使用 foreach 循环遍历索引数组。请看下面的例子 -
<?php
$arr1 = [10, 20, 30, 40, 50];
foreach ($arr1 as $val){
echo "$val \n";
}
?>
它将产生以下输出 -
20
30
40
50
请注意,PHP 在内部将索引数组视为关联数组,索引被视为键。这个事实可以通过数组的 var_dump() 输出来验证。
例子
我们可以使用 foreach 语法在 key 和 value 变量中解压缩索引数组的每个元素 -
<?php
$arr1 = [10, 20, 30, 40, 50];
foreach ($arr1 as $key => $val){
echo "arr1[$key] = $val \n";
}
?>
将产生以下输出 -
arr1[1] = 20
arr1[2] = 30
arr1[3] = 40
arr1[4] = 50
在 PHP ,数组可以仅是值和键值对的混合。PHP 仅将索引分配给没有键的值。
例子
在此示例中,PHP 为数字分配递增索引,跳过其中出现的键值对。
<?php
$arr1 = [10, 20,
"vals" => ["ten", "twenty"],
30, 40, 50];
var_dump($arr1);
?>
它将产生以下输出:
[0]=>
int(10)
[1]=>
int(20)
["vals"]=>
array(2) {
[0]=>
string(3) "ten"
[1]=>
string(6) "twenty"
}
[2]=>
int(30)
[3]=>
int(40)
[4]=>
int(50)
}