Z powodu dość starej biblioteki, z którą pracuję, muszę porąbać tablice nawet na pięć kawałków. Tak więc, jeśli moja tablica ma 9 elementów, muszę ją porąbać (5 i 4), a następnie muszę dodać pusty element do ostatniej tablicy, aby uzyskać go do 5.DRY - dodaj pewną liczbę elementów do końca tablicy, aż jej liczba osiągnie określoną wartość.
Napisałem bardzo zły kod to działa, ale zdaję sobie sprawę, że jest to niezgodne z zasadami DRY, ponieważ zlicza liczbę i używa wielu instrukcji if
, aby wypchnąć poprawną liczbę pustych elementów, aby uzyskać kopię zapasową do 5
.
Czy ktoś może mi doradzić, w jaki sposób powinienem złamać ten kod, aby $chunkFive
był array_push
ed, dopóki nie ma 5 elementów?
$blank = array("","","blank-image.png","",""); // create the blank image array
if(count($chunkFive) < 5){
echo 'it contains less than five elements';
if(count($chunkFive) == 4){
echo 'insert one element'; // 4 present + array_push 1 = 5
array_push($chunkFive,$blank);
}else if(count($chunkFive) == 3){
echo 'insert two elements'; // 3 present + array_push 2 = 5
array_push($chunkFive,$blank);
array_push($chunkFive,$blank);
}else if(count($chunkFive) == 2){
echo 'insert three elements'; // 2 present + array_push 3 = 5
array_push($chunkFive,$blank);
array_push($chunkFive,$blank);
array_push($chunkFive,$blank);
}else if(count($chunkFive) == 1){
echo 'insert four elements'; // 1 present + array_push 4 = 5
array_push($chunkFive,$blank);
array_push($chunkFive,$blank);
array_push($chunkFive,$blank);
array_push($chunkFive,$blank);
}
}else{
echo 'it contains five elements'; // no need to adjust
// do nothing
}
Trivial: ' while (count ($ chunkFive) <5) array_push ($ chunkFive, $ blank); ' –