📅  最后修改于: 2023-12-03 15:40:42.564000             🧑  作者: Mango
在 PHP 内置函数中, foreach
被广泛用来遍历数组。但是,有时候我们也会需要在没有 foreach
的情况下遍历原始数组。在这篇文章中,我们将探索一些解决这个问题的方法。
使用 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
循环同样可以遍历原始数组。使用 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
函数可以将一个回调函数应用于数组中的每个元素。回调函数接收数组的值和键作为参数。例如:
<?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
的情况下遍历原始数组的三种常用方法。我们可以根据具体情况选择其中一种方法。