需根据数组类型选择方法:一、foreach最常用,自动匹配键值;二、array_keys()和array_values()分离键值;三、each()手动控制遍历;四、key()和current()读取当前键值;五、for循环仅适用于连续索引数组。

如果您需要从 PHP 数组中提取键名和对应值,或对数组进行遍历操作,则需根据数组类型(索引数组或关联数组)选择合适的方法。以下是实现该目标的多种具体方式:
foreach 是最常用且直观的方式,可同时访问当前元素的键和值,适用于所有数组类型,无需预先知道键名。
1、编写 foreach 语句,声明两个变量:$key 和 $value,分别接收当前迭代的键和值。
2、在循环体内使用 echo 或其他处理逻辑输出或操作 $key 和 $value。
立即学习“PHP免费学习笔记(深入)”;
3、对于关联数组,$key 为字符串;对于索引数组,$key 为整数,均自动匹配。
array_keys() 返回包含所有键名的新数组,array_values() 返回包含所有值的新数组,二者可独立使用或配对调用。
1、调用 array_keys($arr) 获取全部键名,结果为索引数组。
2、调用 array_values($arr) 获取全部值,结果也为索引数组,顺序与原数组一致。
3、若需按位置对应键值,可结合 for 循环,用相同下标访问两个返回数组。
each() 返回当前数组指针所指向元素的键值对,并将内部指针前移一位,适用于需要手动控制遍历节奏的场景。
1、初始化数组指针至开头,可选调用 reset($arr) 确保起始位置正确。
2、在 while 循环中调用 each($arr),返回包含 "key" 和 "value" 键的关联数组。
3、通过 $pair['key'] 和 $pair['value'] 提取当前键值,直至返回 false 表示遍历结束。
key() 返回当前内部指针位置的键名,current() 返回该位置的值,二者不移动指针,适合只读检查或条件判断。
1、确保数组非空,否则 key() 和 current() 可能返回 NULL 或警告。
2、调用 key($arr) 获取当前键,调用 current($arr) 获取当前值。
3、配合 next() 移动指针后再次调用,可模拟手动遍历过程。
仅适用于数字索引且连续的数组,通过下标直接访问键与值,效率高但不兼容关联数组或稀疏索引数组。
1、调用 count($arr) 获取数组长度,作为循环上限。
2、使用 for($i = 0; $i
3、通过 $arr[$i] 访问值,$i 本身即为键,无需额外函数提取。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号