Best thing is to get source for big things, IE forums, and keep modifiying them, learning how they work. Then try building a portal or something around the forum, starting from scratch, but still with things you know by interfacing with the forum. Then you can work on your own with your new skills. By the time you're done, you'll have a very advanced understanding.
Also, its very handy to keep the php chm manual by you. You want to do something, dont know the command, search, get the command from it and syntax, and you're back up and running again