我现在正在练习php。我有一个问题。
我在某些while循环中看到一个 =
。经常在mysql查询。那它代表什么呢?
两个 ==
表示平等。但单个 =
?你能告诉我这背后的逻辑吗?
答案 0 :(得分:11)
单=
表示“分配”。赋值始终分配给变量并返回结果。所以,例如:
while($row = mysql_fetch_array($results)) {
// ...
}
当mysql_fetch_array($results)
返回有效数组时,它会循环。当它返回null
(意味着结果的结尾)时,循环退出。
答案 1 :(得分:3)
while ($row = mysql_fetch_row($query))
{
//do stuff
}
这会一直查询结果句柄,直到找到NULL
值(结果结束)。 $row
然后包含从调用中获取的行,以便可以用于处理。
它也是检查NULL
结果的“简写”:
while (($row = mysql_fetch_row($query)) != null)
{
//do stuff
}
它也可以替换for
循环:
for ($i = 0; $i < mysql_num_rows($query); $i++)
{
//do stuff
}
一切都是等价的。
答案 2 :(得分:2)
single =用于作业
$a = 9;
==用于比较
if($a == 9) echo 'hello';
答案 3 :(得分:1)
这是作业运算符。
答案 4 :(得分:0)
虽然'x'的当前值可以成功分配给变量'y',但请继续。
答案 5 :(得分:0)
这是另一种选择:
$row = mysql_fetch_assoc($thing);
while (isset($row)) {
// do stuff
$row = mysql_fetch_assoc($thing);
}
你可以看到它的输入更少(代码可能更有效):
while (($row = mysql_fetch_assoc($thing)) != null) {
// do stuff
}