Co do tego prościej...
Poprostu myślałem, że jest taka funkcja wbudowana w php
array_walk() by działało ale (from manual)
Cytat
Użytkownicy nie mogą zmieniać samej tablicy z wnętrza funkcji zwrotnej, to jest dodawać/usuwać elementy, usuwać tablicę na której jest wywoływana funkcja array_walk(). Jeśli ta tablica zostanie zmieniona, funkcja może się zachowywać w sposób nieokreślony.
Ale jeżeli nie ma to dorzucę sobie ta Twoją na stałe do pozostałych funkcji, bo jest bardzo użyteczna
(taka mała rzecz a cieszy

)