I don't know the first thing about PHP, but I do know Java. If you really want to know the language, I'd suggest going for the official Oracle Java certification. The first level (certified Java programmer) requires you to know a lot of the ins and outs of the language itself. I studied for this exam by reading the 'SCJP Sun Certified Programmer for Java 6 Study Guide', which is an excellent reference by itself. If you've passed this exam you can also go for other levels that focus on a specific parts of Java. For instance, I believe there's also a J2EE exam.
Anyway, I got the chance to do this at work, and I really loved it. I used to think I knew Java pretty well, but after getting the Java Programmer and Java Developer certificates, I pretty much reached new level of understanding. My boss payed for the books and the exams, which made it a pretty sweet deal [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]
If you get a chance to do this, I suggest you take it! Preparing for these exams will take some time, but I think it is well worth it. It was for me anyway!