I am very new to web development. For last few months I have noticed that, these days most of the high paying jobs are for .NET or J2EE only and not for PHP. Why is it so? Can learning php, MySQL, JavaScript, ajax, codeigniter help to earn high paying jobs like .NET or J2EE? I know that it is very argumentative topic, but I want to know the right answer. What are the best practices one need to follow in learning PHP?
More important than learning any specific language is learning common data structures, algorithms, and design patterns. Once you understand what is happening when you write some code, it becomes very easy to pick up another language. You may not be qualified as an "expert" in the language, but you'll be able to read and write it.
About 2.5 months ago, I took a job at a company that uses ASP.NET. Before then, I had very very little experience with ASP or VB, but because I have a solid theoretical background, I was able to jump right in and start coding. Of course, there were some questions, but they were mostly about particular practices the development team uses, rather than questions about the language itself.
Many languages are very similar, even outside of syntax style. They all have control structures of some sort, they all have variables, and many that you'll work with today are object-oriented. Grasp these concepts, and you'll do just fine. (I may be over-generalizing a little, but I've found this to be largely true).
.Net and J2EE are seen as more Enterprise ready languages than PHP and as such attract higher pay.
Also, statically-typed languages tend to be favored in mission critical and large business applications due to better performance (as they can be JIT compiled) and reliability ( due to type checking).
Java and .Net are also commonly taught in Computer Science and Information System degrees which could affect demand and pay.
I think PHP and other FOSS languages has a different space where they work. I started working on PHP in early 2002 and since then I hav eseen things evolving across the web. ASP, .Net, Java, Ruby and tons of framework mashroomed around the WWW.However I never saw the charm of PHP vanishing anytime. Lerdorf baby is still the most desirable language due to its simplicity and power. Coming to your point, the highest paid salaries you are talking is mostly in the domain where FOSS is considered as a risk. Banks and other security firms do not opt for FOSS because of the threat of opensource malfunctions. However if you look jobs in major e-com and product dev organizations you will find equal respect. Thus if you opt for those companies you will ear much higher than other technologies.