有谁知道为什么这个PHP迭代将无法正常工作

时间:2010-12-08 17:45:20

标签: php loops iteration while-loop

有谁知道为什么这不起作用

function my_current($array) {
    return current($array);
}

$array = array(1,3,5,7,13);

while($i = my_current($array)) {
    $content .= $i.',';
    next($array);
}

但这确实

$array = array(1,3,5,7,13);

while($i = current($array)) {
    $content .= $i.',';
    next($array);
}

或如何使顶级工作? 这是一个小问题,但这将是一个很大的帮助! 谢谢 理查德

3 个答案:

答案 0 :(得分:3)

复制数组,这意味着当前指针丢失。将其作为参考传递。

function my_current(&$array) {

或者更好的是,使用implode()

答案 1 :(得分:2)

默认情况下,正在制作阵列的副本。

试试这个:

function my_current(&$array) {
    return current($array);
}

答案 2 :(得分:2)

我想这是因为当你用一个数组参数调用一个函数时,数组就被复制了。尝试使用参考文献。

function my_current(&$array) {
    return current($array);
}

注意&