首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个循环的模数逻辑正确吗?

这个循环的模数逻辑正确吗?
EN

Stack Overflow用户
提问于 2011-05-10 01:01:31
回答 3查看 516关注 0票数 3

这就是我要找的模式

在有限集中,我想为一个集合检索前2个值,然后对另一个集合检索下4个值,然后对第一个集合检索2个值,然后对另一个集合检索4个值,等等。

抢2抢4抢2抢4 ..。

代码语言:javascript
复制
$count = 0;
foreach ($listing as $entry){
  if ($count % 4 == 0){
       // add to 4-item set
  } else if ($count % 2 == 0){
       // add to 2-item set
  }
  $count++;
}

我的困惑是,当$count%4=0然后$count%2也将= 0.

那么,通过检查first (如果$count%4 == 0 ),我是否应该安全地不到达模数错误的情况(因为对于任何可被4整除的任意数,两者都是正确的)?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-10 01:08:30

如果我做得对,你想要的分发实际上是:

代码语言:javascript
复制
A A, B B B B, A A, B B B B, A A, B B B B, ...

因此,您想将它们分组到6中,然后选择前两个被晒成的A,其余的四个放到B中:

代码语言:javascript
复制
if ($count % 6 < 2){
   // add to 2-item set
}
elseif ($count % 6 < 6){
   // add to 4-item set
}

将其拆分为if/ Splitting将确保项目仅在其中一项中结束。< n% 6分布的比较将意味着:

代码语言:javascript
复制
$count % 6 =    0  1  2  3  4  5  0
        if =   <2 <2 <6 <6 <6 <6 <2
    basket =    A  A  B  B  B  B  A
票数 1
EN

Stack Overflow用户

发布于 2011-05-10 01:06:44

不正确

当计数是2,8,14等时,你应该抓住设置1。

当前,当计数为2、4、8等时,您正在抓取。

以及在计数为6、12、18等时设置2

目前计数是4,8,12等

所以条件1是((count-2) % 6) == 0

条件2是(count != 0) && (count % 6) == 0

这里有一些应该有效的东西

代码语言:javascript
复制
$count = 0;
foreach ($listing as $entry){
  if ($count < 2){
       // add to 2-item set
  } else {
       // add to 4-item set
  }

  if ($count < 6) $count++; 
  else $count = 0;
}

或者,如果您想一次抓取2/4项:

代码语言:javascript
复制
$count = 0;
foreach ($listing as $entry){
  if ($count == 2){
       // add 2 items to 2-item set
  } elseif ($count == 6) {
       // add 4 items to 4-item set
  }

  if ($count < 6) $count++; 
  else $count = 0;
}
票数 1
EN

Stack Overflow用户

发布于 2011-05-10 01:10:33

因为你指定的确切原因,这是行不通的。

要使它发挥作用的方法是:

  1. 使用模块6,然后每次模块6将前两个元素从count -6添加到set1,接下来的4个添加到set2。
  2. 使用布尔开关,当开关为真时,在4个元素设置为false之后,在4个元素设置为false之后,在向set2添加元素时,向set2添加切换的值。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5944107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档