我在理解PHP如何解析条件语句时遇到了一些问题。
例如,
while (list($id, $name, $salary) = mysql_fetch_row($result)) { ...}(http://php.net/manual/en/function.list.php )
当列表可以检索值时,将计算为true。但是打印列表将打印列表变量中包含的值。手册还说list()返回一个数组。那么,条件如何知道mysql获取尝试成功了呢?
如果它返回一个布尔值,那么如何直接显示它,而不是
if(expr) echo 'true';谢谢!
发布于 2011-08-18 10:03:06
如果分配给非数组或具有太少项的数组,list()会将null赋值给列出的变量。
由于null的计算结果为false,而具有多个项的数组的计算结果为true,因此while循环能够使用该表达式。
小更新
如果数组没有包含足够的项,list()将触发一个"undefined index“E_NOTICE错误
https://stackoverflow.com/questions/7101583
复制相似问题