【发布时间】:2019-04-02 09:04:24
【问题描述】:
为了避免重复ID,我写了下面的代码,但是我无法跳出for循环。
print $someid;
一直显示 0。
<?php
for (; ; ) {
$sql = "SELECT COUNT * FROM user WHERE id = :id";
$id = sha1(uniqid(mt_rand(), true));
$idcheck = $connect -> prepare($sql);
$idcheck->bindParam(':id', $id, PDO::PARAM_STR);
$idcheck -> execute();
$someid = $idcheck -> rowCount();
print $someid;
if ($someid = 0) {
break;
}
}
?>
只有在没有重复的情况下,我怎样才能跳出循环?
【问题讨论】:
-
$someid = 0是一个赋值,而不是一个比较…… -
while(true)更常见于无限循环 -
@YourCommonSense
for(;;)是否存在性能问题?