Quindi come pensavo sono stringhe, non array altrimenti ti avrebbe stampato
Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 )
Array ( [0] => topo [1] => lupo [2] => cane [3] => gatto [4] => volpe [5] => leone )

$imglist non ha indici, una stringa non ne ha e su $neworder non si può ciclare... strano anche che non ti venga mostrato alcun warning del tipo "foreach() expects parameter 1 to be array, string given", ma magari il livello di error_reporting impostato sul server è inferiore a quello necessario per mostrare questo tipo di warning.

Devi prima trasformare le stringhe in array, avendo un separatore, la virgola, sei fortunato, si fa facilmente con explode(), da lì il codice torna uguale a quello che stai usando, ma poi dipende da come vuoi che sia fatta la variabile $list, vuoi che sia effettivamente un array o deve essere una stringa con elementi separati da virgola (che non è un array) come quelle che hai adesso?

P.S.: conosci la differenza tra array e stringa?