Kod niby poprawny, testuję i wszystko działa poprawnie
http://ideone.com/jUoFsJ
A wyskakuję, że jest błąd
Kod niby poprawny!?Niby testujesz!?Niby wszystko działą poprawnie!?:::: http://ideone.com/9DtQpV
Więc nie dziw się, że jest błąd, nie na niby.