kilimandjaro: а не работало потому, что элемента rr[ee] в массиве rr нет, то есть это ещё как бы не массив, поэтому push не понимает, что ему делать. Он считает, что его вызвали «просто так» :)
Это быстрее, причём — намного. Единственный момент — как оно себя поведёт, если дойдёт до последнего статуса? Вот в моей процедуре это обрабатывалось и проставлялась дата 2016-01-01 00:00:00
damnrocknroll а, ну если с изменениями не заморачиваться, то ответ однозначно такой — можно использовать GIT, да ещё и очень удобно. Посмотрите в сторону pro git (книга бесплатна) и каких-нибудь интерактивных материалов, начать можно с githowto.com.