結果の配列が最初の配列からの 2 つの項目に続いて 2 番目の配列からの 1 つの項目を持ち、このように繰り返されるように、2 つの配列をマージするエレガントな方法は何でしょうか?
配列 1 = A1、A2、A3、A4、A5 など
配列 2 = B1、B2、B3、B4、B5 など
結果 = A1、A2、B1、A3、A4、B2、A5、A6、B3 など
複数のカウンターを使用して for ループを使用して実行しようとしていますが、配列の長さが常に必要なだけ長くなったり短くなったりするかどうかはわかりません。私は興味があります: より良い方法はありますか?
これが私が現在行っていることの単純化されたバージョンです:
$x = 0, $y = 0;
for($i=0; $i<$total_num_blocks; $i++) {
if ($i % 3) { // if there's a remainder, it's not an 'every 3rd' item
$result[$i] = $projects[$x++];
} else {
$result[$i] = $posts[$y++];
}
}