innanzitutto array_walk è molto meglio di un foreach...
----
per scrivere un nuovo array, prima inizializzi un nuovo array:

$newarr = array();

poi dentro la funzione da usare con array_walk o dentro il foreach, basta che fai:

$newarr[] = $elemento;