📜  没有 foreach 的 php 原始数组 - PHP (1)

📅  最后修改于: 2023-12-03 15:40:42.564000             🧑  作者: Mango

没有 foreach 的 PHP 原始数组

在 PHP 内置函数中, foreach 被广泛用来遍历数组。但是,有时候我们也会需要在没有 foreach 的情况下遍历原始数组。在这篇文章中,我们将探索一些解决这个问题的方法。

使用 while 循环

使用 while 循环可以遍历数组中的每个元素。需要使用 reset 函数将数组指针重置到第一个元素,并使用 each 函数获取当前元素和它的键。通过检查返回的数组元素是否 false 来判断是否到达了数组末尾。以下是示例代码:

<?php
$arr = array('a', 'b', 'c', 'd');
reset($arr);
while ($element = each($arr)) {
    echo $element['key'] . ' => ' . $element['value'] . PHP_EOL;
}
?>

输出:

0 => a
1 => b
2 => c
3 => d
使用 for 循环

使用 for 循环同样可以遍历原始数组。使用 count 函数获取数组的长度,然后递增数组的键。例如:

<?php
$arr = array('a', 'b', 'c', 'd');
for ($i = 0, $size = count($arr); $i < $size; ++$i) {
    echo $i . ' => ' . $arr[$i] . PHP_EOL;
}
?>

输出:

0 => a
1 => b
2 => c
3 => d
使用 array_walk 函数

使用 array_walk 函数可以将一个回调函数应用于数组中的每个元素。回调函数接收数组的值和键作为参数。例如:

<?php
$arr = array('a', 'b', 'c', 'd');
array_walk($arr, function($value, $key) {
    echo $key . ' => ' . $value . PHP_EOL;
});
?>

输出:

0 => a
1 => b
2 => c
3 => d
总结

以上是在没有 foreach 的情况下遍历原始数组的三种常用方法。我们可以根据具体情况选择其中一种方法。