代码之家  ›  专栏  ›  技术社区  ›  mrpatg

用偶数或奇数递增数值变量

php
  •  0
  • mrpatg  · 技术社区  · 16 年前

    我遍历两个列表,将数据转储到它们自己的单个数组中,但我需要将这两个数组按数字顺序合并到单个数组中。

    我在用计数器( foreach and $i++ )以正确的顺序命名键,但这两个操作都会给我留下以数字0-10命名的数组。

    我怎样才能使计数器只增加偶数或奇数,这样我就可以合并后的事实,并保留一个适当的数字顺序的两个名单?

    例如,第一个循环名为0-2-4-6-8-10,第二个循环计数为1-3-5-7-9

    4 回复  |  直到 16 年前
        1
  •  4
  •   JAL    16 年前

    将2添加到 for 循环而不是1。 $i++ 只增加1。尝试 $i=$i+2 .

    不过,我不认为这是完成你想做的事情的唯一或最好的方法。把数字放在两个数组中,不用担心使键像那样啮合,然后按顺序从这两个数组的组合中生成一个新的数组,怎么样?

    $arr_one=array('a','c','e','g');
    $arr_two=array('b','d','f','h');
    
    $count=count($arr_one);
    $combined=array();
    for($i=0;$i<$count;$i++){
      $combined[]=$arr_one[$i];
      $combined[]=$arr_two[$i];
      }
    

    $combined 是现在 array ( 0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd', 4 => 'e', 5 => 'f', 6 => 'g', 7 => 'h' )

        2
  •  4
  •   sparkey0    16 年前

    $arr = array();
    for($i=0; $i<=10; $i += 2) {
      $arr[] = $i;
    }
    
        3
  •  4
  •   Tobias P.    16 年前

    将计数器增加2,然后从0或1开始

        4
  •  3
  •   Pekka    16 年前

    嗯。。。首先想到的是

    # Even
    for ($i = 0; $i <= 10; $i=$i+2)
     {.... }
    
    # Odd
    for ($i = 1; $i <= 10; $i=$i+2)
     {.... }
    
    推荐文章