由於我正在使用一個相當古老的庫,因此我需要將數組分成幾塊甚至五塊。所以,如果我的數組有9個元素,我需要將它組合起來(5和4),然後我需要在最後一個數組中添加一個空元素使其達到5.DRY - 將一定數量的元素添加到數組尾部直到數到達特定的int
我寫了一些非常糟糕的代碼這是有效的,但我知道這是違反DRY原則,因爲它計數的數量,並使用多個if
語句來推動正確數量的空白元素,以取回到5
。
任何人都可以告訴我,我應該如何破壞這個代碼,以便$chunkFive
是array_push
編輯,直到它有5個元素?
$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
}
簡單:' while(count($ chunkFive)<5)array_push($ chunkFive,$ blank);' –