There's a lot more to programming than knowing the language (syntax, usage etc). To be a truly "expert" programmer I'd have thought you would need a very thorough grounding in design principles. Knowing every PHP function backwards is all well and good, but if you don't know how to organise large projects / write reusable code / keep things secure / use OOP where it would provide an advantage / keep things easily maintainable you're definitely not an expert PHP programmer. I've reached the stage with PHP (my first "real" programming language since I used to tinker with BASIC on the C64) where I know and have experience with most of the important functions / features of the language, but I need to learn decent design principles in order to progress further.
The problem is - how do you learn this stuff? There are a thousand and one excellent PHP tutorials / books that teach you the language, but so far the only resource I've found for writing well designed applications is "Web Application Development with PHP 4.0". I'm goign to university to do a computer science degree in a few months and I'm hoping that will teach me the kind of coding discipline needed to write really good code, but until then if anyone knows of a good book / tutorial for designing applications in PHP (or any other language) I'd love to know about them/