All the answers above are good - however my piece of slightly pedantic advice would be:
Don't learn a programming language - learn how to program!
This might sound abstract (or even plain daft! How do you learn to program without learning a programming language?!)
You should try to learn best practices in programming - OOP, design patterns, a little bit of computer science - and apply it to whatever language you're working in at the moment. Changing languages is easy, once you understand the concepts.
For that reason, I would recommend learning Python. It has a multitude of uses, including web, and it gets in the way least when you're learning to code.
If you learn PHP first, you'll learn all of PHP's crazy syntax, rules, and concepts and it will hamstring your development. For example, PHP does nothing to encourage you to separate business logic from presentation logic.
So honestly, my recommendation is that you learn to code in any language except PHP - C#, Python, Ruby...whatever.
(NB - my day job is a web developer working primarily with PHP!)