首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP while循环中没有条件?

PHP while循环中没有条件?
EN

Stack Overflow用户
提问于 2012-11-17 01:41:10
回答 5查看 1.5K关注 0票数 3

因此,我正在使用PHP构建我的第一个超级基本的CMS。我不想简单地复制我正在看的教程中的代码,而是真正理解它。有一件事困扰着我,那就是使用while循环来获取帖子。在下面的代码中,我看不到圆括号内的语句如何构成条件。在我看来,它所做的一切就是将一个数组赋给变量$post。我想,我的问题是,你如何循环不是条件的东西。谢谢!

代码语言:javascript
复制
function get_posts () {
   $query = mysql_query("SELECT * FROM posts") or die(mysql_error());

   while ($post = mysql_fetch_assoc($query)) {
      echo $post['Content'];
   }
}
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-11-17 01:43:57

停!

你正在看的教程已经严重过时了! 。它们不再被维护,deprecation process已经开始对其进行维护。看到了吗?相反,学习,并使用PDOMySQLi - this article将帮助您决定使用哪种方法。如果你选择PDO,here is a good tutorial

至于具体的问题,这行

代码语言:javascript
复制
while ($post = mysql_fetch_assoc($query)) {

就是这个条件。如果有更多的结果,则mysql_fetch_assoc()返回一个数组;如果没有结果,则返回false。如果返回false,则条件的计算结果为false,循环将中断。

票数 7
EN

Stack Overflow用户

发布于 2012-11-17 01:44:57

基本上,您正在获取新行,并使用以下命令将其赋给$post变量:

代码语言:javascript
复制
while ($post = mysql_fetch_assoc($query))

mysql_fetch_assoc

返回值

返回与提取的行对应的字符串数组,如果没有更多的行,则返回FALSE

因此,当mysql_fetch_assoc返回false时,它被赋值给$post变量,然后在while中进行求值,然后循环停止。

票数 1
EN

Stack Overflow用户

发布于 2012-11-17 01:45:07

mysql_fetch_assoc手册页所述

返回值:返回与提取的行相对应的字符串数组,如果没有更多的行,则返回FALSE。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13421696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档