prova a vedere se ti può andare bene questa:
Codice PHP:
$arr = array(1,2,3,4,5,6,7,8,9,0,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30);

do{
  for(
$j=0$j<5$j++)
   {
     
$val array_shift($arr);
      if(
$val != null)
       
$arr2[] = $val;
   } 

   for(
$i=0$i<8$i++)
    
$arrSupp[] =  array_shift($arr);
}while(
count($arr) > 0) ;
print_r($arr2); 
Ci saranno sicuramente metodi migliori, ma è la prima cosa che mi è venuta in mente...
Ciao