我如何以两个方式交替我的阵列?

时间:2015-10-04 20:30:54

标签: php arrays

我有两个数组,A和B,我想按以下顺序合并和显示:

A0 B0 A1 B1
B2 A2 B3 A3
A4 B4 A5 B5
B6 A6 B7 A7

到目前为止,这就是我所拥有的:

for($i = 0; $i < count($a); $i++) {

    if(...) {

        $mergeArray[] = $a[$i];
        $mergeArray[] = $b[$i];

    } else {

        $mergeArray[] = $b[$i];
        $mergeArray[] = $a[$i];
    }
}

return $mergeArray;

数字0,1,4,5,8,9,12,13...的共同点是什么?

2 个答案:

答案 0 :(得分:4)

我相信这就是你想要的:

<?php

$a=array('a0','a1','a2','a3','a4','a5');
$b=array('b0','b1','b2','b3','b4','b5');

$sum = count($a);

for($i = 0; $i < $sum; $i ++){

    if ($i % 2 == 0){
        echo $a[$i] . ' ' . $b[$i] . ' ' . $a[$i + 1] . ' ' . $b[$i + 1] . "<br>";
    }else{
        echo $b[$i] . ' ' . $a[$i] . ' ' . $b[$i + 1] . ' ' . $a[$i + 1] . "<br>";
    }

    $i ++;
}

输出:

a0 b0 a1 b1
b2 a2 b3 a3
a4 b4 a5 b5

答案 1 :(得分:2)

诀窍是当你除以4时,你应该得到提示0或1:

if($i % 4 == 0 || $i % 4 == 1) { //...

或者,如果您愿意:

if($i % 4 < 2) { //...