加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 每10次循环迭代增加int var

发布时间:2020-12-13 22:19:58 所属栏目:PHP教程 来源:网络整理
导读:我正在构建一个虚拟数据的长查询.我有一个for循环运行几千次,在每个循环中,它向查询添加一个新行,其中增量变量用于虚拟文件名,1.png,2.png等.我还需要增加一个单独的外键id,但它只需要循环的每10次迭代.有人可以帮忙吗?谢谢. $var = '';for($i=0;$i100;$i++
我正在构建一个虚拟数据的长查询.我有一个for循环运行几千次,在每个循环中,它向查询添加一个新行,其中增量变量用于虚拟文件名,1.png,2.png等.我还需要增加一个单独的外键id,但它只需要循环的每10次迭代.有人可以帮忙吗?谢谢.

$var = '';
for($i=0;$i<100;$i++){
    $path = '/test' . $i . '.pdf';
    $mess = 'Test message '. substr(md5($i),10);
    $did = 0;//How to increment this var by 1 every 10 iterations?
    $var .= "INSERT INTO `message` (`design_id`,`path`,`message`) VALUES ('$did','$path','$mess');"."<br />";
}
echo $var;

解决方法

你可以使用 modulus operator:

$did = 0;
for($i=0;$i<100;$i++){
    $did += $i % 10 == 9;
}

表达式$i%10从0开始,增加到9(10 – 1)然后无限期地“回绕”.每次评估为9时,$did会增加,即每10次迭代.

有趣的是,你可以使用范围[0,9]中的任何值进行比较,它仍然会以相同的速率增加$did;不同之处在于第一次增加会发生.通过选择9次增加发生在10日,20日等迭代.如果您选择0,则会在1日,11日,21日等处发生增加.

最后,如果这项技术是新的,那么使用额外的parens可能会感觉更舒服

$did += ($i % 10 == 9);

甚至是一个独立的if语句.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读