PHP中foreach遍历数组有两类语法:一是foreach($array as $value)仅获取值,适用于无需键名的场景;二是foreach($array as $key => $value)同时获取键与值,适用于需键名判断或处理关联数组的情形。
PHP 中 foreach 遍历数组主要有两种语法形式:一种只取值,另一种同时取键和值。
适用于不需要知道当前元素下标(键名)的场景,比如简单输出、累加、过滤等。
foreach ($array as $value) { ... }
$value 每次循环接收当前元素的值,键名被忽略$value 是副本;如需修改原数组,得用引用 &$value
当需要根据键做判断、构建新结构、或处理关联数组时必须用这种方式。
foreach ($array as $key => $value) { ... }
$key 是当前元素的键(数字索引或字符串键名),$value 是对应值
$value 使用引用(&$value)可直接修改原数组对应位置的值遍历过程中修改数组(如增加、删除元素)可能导致未定义行为,不建议边遍历边改结构;如需筛选,优先用 array_filter() 等函数预处理。
基本上就这些。两种写法本质一致,选哪个取决于你是否关心键名。