In what context? There's a world of difference even though they can both solve a similar problem (ie. server side scripting). Your question is like asking what the difference is between a Mac and a PC, it's a very broad topic.
Unlike PHP, ASP.NET is not a language but rather a set of technologies in the Microsoft .NET Framework for building Web applications. The framework supports more than two dozen languages, but the 2 that are most-commonly used are VB.NET and C#. Most of the time, you will see a web app developed in one lanauage.
PHP is a programming language; ASP is a frame where other programming languages can use. If the question were VBscript (that most ASP pages are using) vs. PHP we could talk a lot about it. But there is no really VS in programming languages. A programmer should know many languages, understand various concepts and never treat a language like trash or God, they are just tools.