日期:2014-05-17  浏览次数:20714 次

while($rs=mysql_fetch_array($result))
1、问下这种循环,不需要移动记录指针。就可以循环读取记录吗
2、$rs=mysql_fetch_array($result) 这个表达式是返回TRUE吗,还是说$RS 有值的时侯就相当于TRUE了。

谢谢。。

------解决方案--------------------
如果说$rs一直为true的话,不就是死循环了吗?,所以说是当得到数组的时候,$rs的值为true,当数组读取完毕了,那$rs就为空了,就是false了。我是新手,我是这么理解的
------解决方案--------------------
mysql_fetch_array() 是 mysql_fetch_row()的扩展版本。

mysql_fetch_row()从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。 依次调用 mysql_fetch_row()将返回结果集中的下一行,如果没有更多行则返回 FALSE。 

------解决方案--------------------
探讨
表达式有数值,就可以认为是TRUE是吗

------解决方案--------------------
当然了如果有值那么返回数组,数组也就相当是true了
------解决方案--------------------
字符与BOOL可以转换的,
用两个!!号就可转换成BOOL(TRUE)

PHP code
echo !!$rs=mysql_fetch_array($result);
//返回1,表明有值,不返回,表明没值