问答详情
源自:7-6 PHP数据库操作之取得数据查询结果

$data = array(); while ($row = mysql_fetch_array($result)) { $data[] = $row; }这个是什么意思呢。怎么用?

$data = array(); while ($row = mysql_fetch_array($result)) {    $data[] = $row; }这个是什么意思呢。怎么用?

提问者:慕粉1118437342 2017-02-23 10:56

个回答

  • 慕粉1903442220
    2017-02-27 10:43:03

     $data = array(); 这句是新建一个空数组,容易理解。


    $row = mysql_fetch_array($result) 这是循环中的条件。跟我们正常看到的循环条件

    不同(如:$i < 10,如果是这种,那么很简单,变量 $i 大于等于 10 时,循环就

    结束了),这个条件是一个赋值语句(即:$i = 10 这种形式的)。


    赋值语句 $row = mysql_fetch_array($result) 的意思是,使用 mysql_fetch_array() 函数

    每次获取查询结果集合($result)中的一项后,赋值给 $row 变量,那么整个赋值语句的值

    就是 $row 变量中的值(查询结果中的一项)。


    当 mysql_fetch_array($result) 取到结果集 $result 中的最后一项时,如果再次调用

     mysql_fetch_array($result),那么返回值是布尔值 false(因为最后一项后已经没有项了),

    将此 false 值赋值给变量 $row,那么此时整个赋值语句的值就是 false($row 变量中的值)。

    也就是此时的循环条件变为假,跳出循环。

     

     至于 $data[] = $row,是指把通过 mysql_fetch_array() 函数取得的一项添加到数组中,

     通过循环就可以把查询结果中的每一项都添加进数组。


  • 慕仙5625191
    2017-02-23 11:00:52

    数据库操作 , 查询结果循环读出 保存到$data数组里面