jaki byłby elegancki sposób łączenia dwóch tablic, tak, że wynikowa tablica ma dwa elementy z pierwszej tablicy, a następnie pojedynczy element z drugiej tablicy, powtarzając w ten sposób?Elegancki sposób asymetrycznego łączenia 2 tablic w PHP
Tablica 1 = A 1, A2, A3, A4, A5, itp
Tablica 2 = B1, B2, B3, B4, B5, itp
wyniku = A1, A2, B1, A3, A4, B2, A5, A6, B3, itp.
Próbuję to zrobić za pomocą pętli for z wieloma licznikami, ale nie wiem, że długość tablicy będzie zawsze taka sama lub równa krótki w razie potrzeby. Jestem ciekawy: czy istnieje lepszy sposób?
Oto uproszczona wersja tego, co mam aktualnie robi:
$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++];
}
}
Co powinno być wynikiem , jeśli a) tablica1 ma więcej OR b) mniej elementów niż tablica2? –
Czy klucze powinny być zachowane? –
tak, dobre pytanie. nie, nie dbam o klucze tablicy; również jeśli jedna tablica jest dłuższa od drugiej, wynik $ może się po prostu zatrzymać, gdy jedna tablica jest pusta, LUB zawiera resztę dłuższej tablicy. O dziwo, obie opcje byłyby w porządku w moim konkretnym przypadku użycia. – wes