1

これを分かりやすく説明するタイトルを付けるのは難しいので、ここでさらに掘り下げてみます。配列SUMに結合したいa1、a2、a3、a4の異なるサイズの4つの配列があるとします。

SUM[0] を a1[0]、SUM[1] を a2[0]、SUM[2] を a3[0]、SUM[3] を a4[0]、次に SUM[4 ] は a1[1] などになります。

注意が必要なのは、配列のサイズが異なることです。

編集: a1、a2、a3、a4 のいずれかの配列が終了した場合は、次の配列に移動してください - これを明確にしておらず申し訳ありません

4

1 に答える 1

4
$a1=array(1,2,3);
$a2=array(4,5,6,7,8,9);
$a3=array(10,11);
$a4=array(12,13,14,15);
$maxlen = max(count($a1), count($a2), count($a3), count($a4));
$a = array($a1, $a2, $a3, $a4);
$SUM = array();
for ($i = 0; $i < $maxlen; $i++) {
    foreach ($a as $arr) {
        if (array_key_exists($i, $arr)) {
            $SUM[] = $arr[$i];
        }
    }
}

var_dump($SUM);

出力:

配列(15) { [0]=> int(1) [1]=> int(4) [2]=> int(10) [3]=> int(12) [4]=> int(2) [5]=> int(5) [6]=> int(11) [7]=> int(13) [8]=> int(3) [9]=> int(6) [10]=> int(14) [11]=> int(7) [12]=> int(15) [13]=> int(8) [14]=> int(9) }

于 2012-05-16T08:12:01.547 に答える