Well,
The way I see it is you dont have to learn each and every bit of language. But try learning very basic features which will be required in other languages too. For
For example, OOPS concepts are required in all the languages be it JavaJava, PHPPHP, or any other language. Memory allocation
Memory allocation concepts are quite similar in many programming languages. These kind of topics you should never miss out on.
Each and every language have grammar and rules, same applies for programming languages; Dennis Ritchie himself accepted that fact. So one should learn the grammar of that language.
But the way I see it is that you got to learn the non common factors between two programming languages. They will let you identify what which language stands for what.
C++C++ is all basic OOP(Object Oriented Programming), so once you learn the OOPOOP concepts, you learn the grammar which you will see in PHP and Java too.
My learning flow was :
Visual Basic 5 (partial) -> HTML 2.0 (partial) -> C (partial) -> CPP (partial) -> Java (partial)
and then I learned C CompleteC Language again followed by C++C++ followed by JAVA JAVA (complete this time) then I moved to androidandroid as I was familiar with JavaJava and XML XML (partial) and learned it in mean time. First attempt taught me less but in second attempt be sure to learn everything which will help you next time.