【问题标题】:Add php code each 12 items starting from 2nd item从第 2 项开始,每 12 项添加 php 代码
【发布时间】:2016-06-15 00:59:32
【问题描述】:

我有一些循环。我如何优化此代码,使其从第 2 项开始每 12 项执行一次。我对 +12 项中的每一项都使用硬编码代码,但这当然不是一个好的解决方案 :) 我知道这很容易做到,并且我试图用模数运算符来做到这一点,但是它以某种方式工作不正确。

<?php if( ($counter == 2) || ($counter == 14) || ($counter == 26) || ($counter == 38) || ($counter == 50) || ($counter == 62) || ($counter == 74) || ($counter == 86) || ($counter == 98 .... ?>

感谢您的帮助!

【问题讨论】:

  • 包含您尝试的模数语句可能对您有用。这样,我们可以帮助您消除对使用模运算符的任何误解。

标签: php loops if-statement each modulus


【解决方案1】:

回答

看看Modulus operator (%)

<?php
    if ( ( $counter - 2 ) % 12 == 0 ) {
        //....
    }
?>

说明

模数运算符 ($a % $b) 是 $a 除以 $b 的余数。

  • $counter - 2 - 当您从 2 的偏移量开始时,将其从 $counter 中删除
  • % 12 - 将返回 $counter - 2 除以 12 的余数
  • == 0 - 如果上面返回0,你就知道它是完全可整除的

【讨论】:

  • 为什么不if ($counter % 12 === 2) ...
  • @naomik 因为 OP 声明他想检查“从第 2 个项目开始的每 12 个项目
  • @naomik 我是这样回答的(因为这个更好,所以删除了答案)您还需要检查 $counter == 2 是否也。
  • @naomik 另外,我使用== 而不是=== 因为OP 使用== - 我不知道$counter 的值
  • @PVL 实际上,0 % 12 将返回 0,因此您无需检查!它仍然可以正常工作。
猜你喜欢
  • 2016-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-19
  • 2015-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多