【问题标题】:What does this code do?这段代码有什么作用?
【发布时间】:2010-11-07 04:19:08
【问题描述】:
while (list($task_id, $parent_id, $task) = mysqli_fetch_array($r, MYSQLI_NUM))

【问题讨论】:

    标签: php mysql arrays list


    【解决方案1】:

    它将一行(来自 MySQL 查询)提取到包含 task_idparent_idtask 列的数组中,直到没有更多行可提取。 list() 函数将这些列转换为$task_id$parent_id$task 变量,以便在while 循环中使用。

    换句话说:它遍历一个行集。

    【讨论】:

    • +!我同意,但也许您还应该解释一下 list() 在 while 循环的上下文中的作用,因为即使对于经验丰富的 PHP 者恕我直言,阅读起来也很痛苦。
    • 肯定不是很清楚,肯定是这么多……有人懒得输入$row来说明
    【解决方案2】:

    这是一个通过结果集的循环,从 mysql 结果行到单个变量的压缩转换

    很长的路要走:

    while($row=mysqli_fetch_array($result)){
        $task_id   = $row[0];
        $parent_id = $row[1];
        $task      = $row[2];
    
        // Do something with the row data
    }
    

    PHP 文档中的相关页面是:

    将数组转换为一组变量:http://php.net/list

    获取mysqli结果对象的一行:http://php.net/manual/en/mysqli-result.fetch-array.php

    【讨论】:

    • mysql_fetch_array() 的第二个参数是一个常量,用于指定返回数组的格式:MYSQLI_ASSOC、MYSQLI_NUM 或 MYSQLI_BOTH。本质上,数组应该由字段名称、整数或两者索引(数组中存在相同数据的两个值)。文档页面对 MySQLi 扩展有很好的解释。
    【解决方案3】:

    http://us3.php.net/manual/en/mysqli-result.fetch-array.php

    以防万一您不知道 mysqli_fetch_array 是什么。

    【讨论】:

      猜你喜欢
      • 2011-04-13
      • 2011-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-31
      • 1970-01-01
      相关资源
      最近更新 更多