I (as a PHP and C# programmer initially) who have been learning C++ for the last three years, would without a doubt recommend that you start with the basics of C++ tbh. PHP is nowhere near C++, as well as Java. Java and C# are more alike, as they introduce garbage collection, no pointer arithmetic etc. There is so much basic ground and principles to cover in C++, before starting.
I would personally recommend that you invest as much time as you can by going through a (or more) "C++ for dummies" books, and when you feel you're getting a good grasp of it, I would also recommend reading "Efficient C++" and "More efficient C++" by Scott Meyers. On the surface C++ could definetly look easy enough, but there is so much details and "hidden" rules that you definetly need to know about.
If you start writing a GUI (for which platform?) in c++ now, without this knowledge, you are absolutely going to end up with a memory leaking and probably slow program. I'm only sincere and honest with you here. Not trying to break your spirit, rather "guide" you towards a more fail-safe approach to learning C++. If you only trial and error from the get-go, I can imagine you adopt "bad-code" techniques, and could possibly get demoralized when things are not going as you want to, because of aspects of C++ you do not know.
This is spoken from experience of that kind of approach.
So, my suggestion; start from scratch when learning C++ when you come from Java/PHP, as they are extremely different.
To answer the question at hand though: It depends on what platforms you want to target. Have a look at this answer though: http://stackoverflow.com/questions/115045/good-c-gui-library-for-windows