造成原因是在条件判断的if、while中使用了如下类似的做法:
if ($res = $other)
while (($row = $res->fetchRow(DB_FETCHMODE_OBJECT)))
想去掉这个警告有多种方法,这里列出两种,第一种是从代码的角度,把代码写的更健壮,例如:
if (($res = $other) != FALSE)
while (($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) != FALSE)
但是往往项目中会使用到第三方php代码,第三方代码可能会有大量这种警告,如果自己逐个修改,那还是一件比较麻烦的事,这里提供的第二种方法是通过修改zend studio设置,彻底忽略这类警告提示信息。
具体设置为,依次打开 偏好设置 –> PHP –> Semantic Analysis Properties,展开右边Potential Programmer Problems,在其下面可以找到“Assignment in condition(e.g. ‘if(a=b)’),把Warning修改Ignore,保存设置就彻底去掉这个警告提示了。