在循环中PHP没有条件?

3 php mysql while-loop content-management-system conditional-statements

所以,我正在使用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'];
   }
}
Run Code Online (Sandbox Code Playgroud)

Mad*_*iha 7

停!

您正在观看的教程严重过时!请不要mysql_*在新代码中使用函数.它们不再被维护,并且已经开始弃用.看到红色的盒子?了解准备好的语句,并使用PDOMySQLi - 本文将帮助您确定哪些.如果您选择PDO,这是一个很好的教程.


至于具体问题,这一行

while ($post = mysql_fetch_assoc($query)) {
Run Code Online (Sandbox Code Playgroud)

是条件.mysql_fetch_assoc()如果有更多结果,则返回一个数组;如果没有结果,则返回一个数组false.如果它返回false,则条件将评估为false,并且循环将中断.