警告:条件分配

Moa*_*oak 4 php mysql coding-style variable-assignment conditional-statements

一直困扰我的一件事是,当检查我的php脚本中的问题时,我收到警告"bool-assign:Assignment in condition",我得到了很多.例如:

$guests = array();
$sql = "SELECT * FROM `guestlist`";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
    $guests[] = $row['name'];
Run Code Online (Sandbox Code Playgroud)

有多种方法可以将多个或所有行放入对象或数组中吗?或者这种方法没有错?

Jer*_*ley 13

尝试这样做:

$guests = array();
$sql = "SELECT * FROM `guestlist`";
$result = mysql_query($sql);
while(($row = mysql_fetch_assoc($result)) !== false)
    $guests[] = $row['name'];
Run Code Online (Sandbox Code Playgroud)

我相信php是警告,因为$ row = mysql_fetch_assoc($ result)没有返回布尔值.

  • 实际上,它是一种代码味道 - 只要不是运行时可以转换为false("0",0或false),PHP就不会关心结果的类型.你的脚本检查器只是偏执狂,因为对于具有类似C语法的语言的新手而言,这是一个常见的问题. (2认同)