For the future: neither. C++ will always be needed for anything that requires precise programming or speed. (Good) Games require both, so if you want to be a game developer, you need to start learning. For most intents and purposes, you should be looking at Java. While not nearly as powerful as C++, it is what you need to know for Android, and let's face it: Android isn't getting dethroned by Windows Phone (or any other OS) for a long, long time.
With this said, the best programmers never stop learning new languages. The best language to learn for the future is all of them. Any language, old or new, can become in demand, at any given second. At the moment, Java is the most in demand language. This could change tomorrow (figuratively speaking; not referencing BUILD).
I think C# is more easier to understand than any keywords for Java, plus visual studio is best tools I've ever seen. I mean a programming language that has brighter future. I think php is going to die.
PHP, like the Android OS, isn't going anywhere. There are no suitable substitutes for it at the moment. ASP.NET is rarely used anymore, JSP is really only used for big applications like Facebook where databases are being accessed frequently, and Ruby on Rails, Python, etc, you might as well forget about. Nothing is dethroning PHP for a very long time.