Como fazer uma paginação da matriz?

Eu tenho uma matriz com os dados que eu quero exibir com paginação.

$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
)

Eu tentei algo assim

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.
    }
}

Quero fazer uma paginação para obter o resultado esperado assim:

Se eu definir$show_per_page = 2; entãopagination($display_array, 1); saídas:

0602 xxx2
0602 xxxx3
Total:5

Epaganation($display_array, 2); saídas:

0602 xxx3
0602 saa4
Total:7

Se eu definir$show_per_page = 3;, entãopagination($display_array, 1); saídas:

0602 xxx2
0602 xxxx3
Total: 5 
0602 xxx3

Epaganation($display_array, 2); saídas:

0602 saa4
Total:7

Se eu definir$show_per_page = 4; saídas:

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

questionAnswers(3)

yourAnswerToTheQuestion