Leyendo la documentacio del manual de PHP encontre esto, tal vez te pueda servir o sea la respuesta a tu problema.....
Cita: Si func necesita más de dos o 3 argumentos, dependiendo de datosvarios, se generará un aviso cada vez que array_walk() llama a func. Estos avisos pueden suprimirse si se pone '@' antes de la llamada a array_walk(), o usando la función error_reporting().
Cita: En PHP 4 se debe llamar reset() las veces necesarias, pues array_walk() no reajusta la matriz por defecto.
Saludos
Leo(!)