¿Cómo hacer una paginación desde una matriz?

Tengo una matriz con los datos que quiero mostrar con paginación.

$display_array = Array
(
    [0] => "0602 xxx2",
    [1] => "0602 xxx3",
    [2] => 5 // Total= 2+3
    [3] => "0602 xxx3",
    [4] => "0602 saa4",
    [5] => 7 // Total = 3+4
)

He intentado algo como esto

function pagination($display_array, $page)
{   
    global $show_per_page;
    $page = $page < 1 ? 1 : $page;
    $start = ($page - 1) * $show_per_page;
    $end = $page * $show_per_page;
    for($i = $start; $i < $end; $i++)
    {
        ////echo $display_array[$i] . "<p>";
        // How to manipulate this?   
        // To get the result as I described below.
    }
}

Quiero hacer una paginación para obtener el resultado esperado de esta manera:

Si yo defino$show_per_page = 2; entoncespagination($display_array, 1); salidas:

0602 xxx2
0602 xxxx3
Total:5

Ypaganation($display_array, 2); salidas:

0602 xxx3
0602 saa4
Total:7

Si yo defino$show_per_page = 3;, luegopagination($display_array, 1); salidas:

0602 xxx2
0602 xxxx3
Total: 5 
0602 xxx3

Ypaganation($display_array, 2); salidas:

0602 saa4
Total:7

Si yo defino$show_per_page = 4; salidas:

0602 xxx2
0602 xxxx3
Total:5
0602 xxx3
0602 saa4
Total: 7 

Respuestas a la pregunta(3)

Su respuesta a la pregunta