php遍历数组有五种方法:一、foreach仅取值;二、foreach取键值对;三、for配合count();四、each()与list()组合;五、array_walk()调用回调函数处理。

如果您需要访问PHP数组中的每一个元素,而不需要手动管理索引或计数器,则可以使用foreach循环。以下是遍历数组所有元素的多种方法:
一、使用foreach遍历索引数组
foreach循环专为数组遍历设计,能自动获取当前元素的值,无需关心数组键名或长度。它适用于所有类型的数组,包括数字索引数组和关联数组。
1、声明一个索引数组,例如:$arr = [10, 20, 30];
2、使用foreach语法遍历每个值:foreach ($arr as $value) { echo $value . '
'; }
立即学习“PHP免费学习笔记(深入)”;
3、执行后将依次输出:10、20、30,每项独立一行。
二、使用foreach同时获取键和值
当需要在遍历时访问数组的键(key)与对应值(value)时,可采用“键 => 值”的语法结构。该方式对关联数组尤其必要,也能用于索引数组以获取下标。
1、定义一个关联数组,例如:$user = ['name' => 'Alice', 'age' => 25, 'city' => 'Beijing'];
2、使用键值对形式遍历:foreach ($user as $key => $value) { echo $key . ': ' . $value . '
'; }
3、执行后输出三行内容:name: Alice、age: 25、city: Beijing。
三、使用for循环配合count()遍历索引数组
for循环适用于需要精确控制迭代过程的场景,尤其当必须基于数组下标进行条件判断或跳过特定位置时。它依赖count()函数获取数组长度。
1、初始化索引数组:$colors = ['red', 'green', 'blue'];
2、编写for循环语句:for ($i = 0; $i '; }
3、循环从0开始,每次递增$i,直到$i等于数组长度为止,依次输出red、green、blue。
四、使用while循环配合each()(仅限PHP 7.2之前)
each()函数返回当前数组指针所指向的键值对,并将内部指针前移一位。该方法已自PHP 7.2起被废弃,但部分旧系统仍可能遇到,需了解其基本用法。
1、重置数组内部指针:reset($arr);
2、使用while + each组合遍历:while (list($key, $value) = each($arr)) { echo "$key => $value
"; }
3、每次调用each()返回一个包含4个元素的数组(0、1、key、value),list()将其解构为$key和$value变量。
五、使用array_walk()函数遍历并处理每个元素
array_walk()是一个回调型遍历函数,它对数组中每个元素应用用户自定义函数,适合需要统一处理逻辑(如格式化、验证、修改)的场景。
1、定义待处理数组:$numbers = [1, 2, 3];
2、声明回调函数,例如:function multiplyByTwo(&$item) { $item *= 2; }
3、调用array_walk执行处理:array_walk($numbers, 'multiplyByTwo');











