【问题标题】:Does anyone know why this php iteration won't work有谁知道为什么这个 php 迭代不起作用
【发布时间】:2011-05-22 09:25:10
【问题描述】:

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

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);
}

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

【问题讨论】:

  • 能否发布 current() 函数?你能发布错误吗?无论如何,这可能是一个范围问题。
  • 函数 current() 是做什么的?是输入错误还是实际功能?
  • @hollsk current 是一个核心的 PHP 数组函数。它返回内部指针当前指向的数组元素的值。 us.php.net/current

标签: php loops iteration while-loop


【解决方案1】:

默认情况下,正在制作数组的副本。

试试这个:

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

【讨论】:

    【解决方案2】:

    我猜是因为当你调用一个带有数组参数的函数时,数组会被复制过来。尝试使用引用。

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

    注意&

    【讨论】:

      【解决方案3】:

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

      function my_current(&$array) {
      

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

      【讨论】:

      • 我已经注意到之前看到过 - 但我知道会有答案!
      猜你喜欢
      • 2015-07-06
      • 1970-01-01
      • 1970-01-01
      • 2010-10-20
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 2021-03-11
      • 1970-01-01
      相关资源
      最近更新 更多