因此,我正在使用PHP构建我的第一个超级基本的CMS。我不想简单地复制我正在看的教程中的代码,而是真正理解它。有一件事困扰着我,那就是使用while循环来获取帖子。在下面的代码中,我看不到圆括号内的语句如何构成条件。在我看来,它所做的一切就是将一个数组赋给变量$post。我想,我的问题是,你如何循环不是条件的东西。谢谢!
function get_posts () {
$query = mysql_query("SELECT * FROM posts") or die(mysql_error());
while ($post = mysql_fetch_assoc($query)) {
echo $post['Content'];
}
}发布于 2012-11-17 01:43:57
停!
你正在看的教程已经严重过时了! 。它们不再被维护,deprecation process已经开始对其进行维护。看到了吗?相反,学习,并使用PDO或MySQLi - this article将帮助您决定使用哪种方法。如果你选择PDO,here is a good tutorial。
至于具体的问题,这行
while ($post = mysql_fetch_assoc($query)) {就是这个条件。如果有更多的结果,则mysql_fetch_assoc()返回一个数组;如果没有结果,则返回false。如果返回false,则条件的计算结果为false,循环将中断。
发布于 2012-11-17 01:44:57
基本上,您正在获取新行,并使用以下命令将其赋给$post变量:
while ($post = mysql_fetch_assoc($query))返回值
返回与提取的行对应的字符串数组,如果没有更多的行,则返回FALSE。
因此,当mysql_fetch_assoc返回false时,它被赋值给$post变量,然后在while中进行求值,然后循环停止。
发布于 2012-11-17 01:45:07
如mysql_fetch_assoc手册页所述
返回值:返回与提取的行相对应的字符串数组,如果没有更多的行,则返回FALSE。
https://stackoverflow.com/questions/13421696
复制相似问题