【问题标题】:Can I use $++ PHP in a foreach loop to increment the 'as' index?我可以在 foreach 循环中使用 $++ PHP 来增加“as”索引吗?
【发布时间】:2017-07-28 02:08:07
【问题描述】:

如果我想创建一个 foreach 循环,将每隔一个玩家添加到 A 队或 B 队

foreach ( $selectedplayers as $selectedplayer ) {
        TeamA[] = $selectedplayer;
        $selectedplayer++;
        TeamB[] = $selectedplayer; 
}

我知道我可以使用 for 循环来做到这一点,但有兴趣看看是否可以通过这种方式完成。

【问题讨论】:

  • foreach 循环中没有增量,因为它遍历数组中的每一项
  • 好的,我想可能是这样,谢谢。
  • 不,你不能。看看这个(迭代器方法)stackoverflow.com/questions/20479610/…
  • foreach 用于遍历数组中的所有元素,以供您使用 for 或检查 $key % 2 == 0

标签: php arrays foreach


【解决方案1】:

没有。 $selectedplayer 是每个元素的实际值。使用您自己的计数器:

$i = 0;
foreach ( $selectedplayers as $selectedplayer ) {
        if($i % 2 === 0)) {
            $TeamA[] = $selectedplayer;
        } else {
            $TeamB[] = $selectedplayer; 
        }
        $i++;
}

如果键是连续的(或至少奇偶模式),则使用数组的$key

foreach ( $selectedplayers as $key => $selectedplayer ) {
        if($key % 2 === 0)) {
            $TeamA[] = $selectedplayer;
        } else {
            $TeamB[] = $selectedplayer; 
        }
}

【讨论】:

  • 谢谢。我没有考虑过 if 语句选项。
猜你喜欢
  • 2018-03-10
  • 2016-03-10
  • 1970-01-01
  • 2014-02-18
  • 2010-09-21
  • 2022-01-07
  • 2011-04-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多