怎么使用each输出数组中每一个值PHP_PHP each输出数组技巧【步骤】

each函数可遍历数组获取键值对,需配合while循环、list解构或for循环使用,但foreach是更安全高效的现代替代方案。

怎么使用each输出数组中每一个值php_php each输出数组技巧【步骤】

如果您在PHP中需要遍历数组并获取每个键值对,each函数可以用于逐个返回当前元素的键和值。以下是使用each输出数组中每一个值的具体步骤:

一、使用while循环配合each遍历关联数组

each函数每次调用会返回当前数组指针所指向元素的键值对(包含key、value、0、1四个索引),并自动将内部指针前移一位;因此需配合while循环持续调用,直到返回FALSE为止。

1、定义一个关联数组,例如:$arr = [‘a’ => ‘apple’, ‘b’ => ‘banana’, ‘c’ => ‘cherry’];

2、使用reset()确保数组指针位于起始位置:reset($arr);

立即学习PHP免费学习笔记(深入)”;

3、编写while循环,每次调用each()并判断是否为FALSE:while ($item = each($arr)) { echo $item[‘key’] . ‘ => ‘ . $item[‘value’] . ‘
‘; }

二、结合list()解构each返回值实现简洁输出

each()返回的数组结构固定,可利用list()一次性提取key和value,使代码更清晰易读,避免重复访问索引。

1、初始化数组:$data = [10 => ‘ten’, 20 => ‘twenty’, 30 => ‘thirty’];

2、重置指针:reset($data);

3、使用list()接收each()返回的键值:while (list($k, $v) = each($data)) { echo “Key: $k, Value: $v
“; }

三、在for循环中嵌套each实现可控遍历

通过控制循环次数与each调用次数匹配,可在已知数组长度前提下限制遍历范围,适用于需截断输出或分页处理的场景。


MGX

MGX

MetaGPT推出的自然语言编程工具

MGX
163


查看详情
MGX

1、获取数组长度:$len = count($arr);

2、初始化计数器并重置指针:$i = 0; reset($arr);

3、使用for循环调用each指定次数:for (; $i ‘; } }

四、配合current()和key()替代each实现兼容性方案

each函数自PHP 7.2.0起被废弃,且在PHP 8.0+中完全移除;current()与key()组合可模拟其行为,保持代码向后兼容。

1、定义数组并重置指针:$nums = [‘x’ => 1, ‘y’ => 2, ‘z’ => 3]; reset($nums);

2、使用while循环判断current()是否非空:while (false !== current($nums)) { echo key($nums) . ‘ => ‘ . current($nums) . ‘
‘; next($nums); }

五、使用foreach替代each完成安全高效遍历

foreach是each最直接、最推荐的现代替代方式,无需手动管理指针,语法简洁,性能更优,且完全兼容所有PHP版本。

1、声明待遍历数组:$fruits = [‘red‘ => ‘strawberry’, ‘yellow’ => ‘mango‘, ‘purple’ => ‘grape’];

2、使用foreach直接获取键与值:foreach ($fruits as $key => $value) { echo $key . ‘ => ‘ . $value . ‘
‘; }

以上就是怎么使用each输出数组中每一个值PHP_PHP each输出数组技巧【步骤】的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/1850238.html

发表回复

Your email address will not be published. Required fields are marked *