while循环在PHP与赋值运算符

tri*_*riq 14 php

我正在看的代码是这样做的......

while ($info=mysql_fetch_array($data_jurisdiction))
{
//some stuff
}
Run Code Online (Sandbox Code Playgroud)

我想知道这句话的内容是做什么的?它内部有一个赋值运算符,因此只要$ info被赋值为false以外的值,这个代码就会执行?

hak*_*kre 19

[... S] o只要$ info被分配了一个非false的值,这个代码就会执行?

很好,是的.即使在该表达式中有赋值运算符,表达式本身仍然代表一个值.在这种情况下,整个表达式的结果等于赋值$info.换句话说:表达式与表达式相同$info 已分配给表达式$info- 最后一个变体可能是最佳描述.

所以现在只要$info等于true,while就会执行里面的代码块.

请记住,比较是松散的比较.因此,不仅如此false,NULL或者一个空数组将停止执行内部代码块.


Ros*_*oss 5

对于每条记录$info都将填充当前行,直到它到达结果集的末尾时才会将其设置为 false(这应该停止 while 循环)。