Just wanted to point out that HTML and CSS are not languages.
I do understand HTML and CSS are required in order to make PHP useful, by they are mere descriptions of what something should look like, and can not solve problems.
I can primarily do Delphi (Yes, I know, ancient, but brilliant for learning OOP basics). I have nailed Delphi, and find it fairly easy to do Java, C++ etc... Once you learn one language really well, its easy to learn another, so I would focus on learning the principles and experimenting with one language, so that you become a language independent developer. Perhaps to start with C# is rather nice.
There is plenty of stuff online, and the best way to learn is to practice. You could have the best book in the world, but unless you practice, it'll all be theory. I suggest setting yourself a mini project or task that you wish to achieve and work your way through it, even if you think you do not yet have the skills. This is genuinely the most productive method. Whenever I got stuck, I'd search for snippet of code that'd help me along, and in this manner eventually completed what I needed to.
I would also suggest that program/app development really either needs to be in the mobile direction or web direction as that is the way people prefer it nowadays (imagine if you had to download a desktop program to shorten links or watch youtube), and you can do some really sleek and clever stuff with JS. The only time desktop applications are written are when you are aiming at selling to companies or businesses with specific needs.