Scorrendo la lista delle funzioni sugli array non mi sembra di aver letto una funzione che faccia ciò che vuoi (magari sbaglio). Però potresti combinare le funzioni array_chunk(), array_push() e array_merge()

Spezzi l'array con il chunk, aggiungi l'elemento in coda con il push e riattacchi gli array con il merge.
Un bel pò sporco.. non so se esiste qualche funzione più semplice