I've worked with ASP (v4? - the .NET challenged version of ASP) for 2 years and had been working with PHP before hand. ASP comes in two flavors: JScript and VBScript. I would have killed myself if I was forced to do VBScript flavor. The shop I was at was a JScript/C++ shop so it worked out great.
On the outer layer, ASP is great at working with MS products (all servers and Office products). PHP requires some work and creativity to persuade it to modify directly a Word doc or Excel file (not impossible, but not built in or easy either).
ASP had been limited to only IIS. I think there's something out there to allow ASP like code to run under Linux and other environments. At the moment I've forgotten what it is...
ASP is a bit more structured in terms of naming conventions which has been a regular complaint of PHP from what I've read on the 'net. ASP's object oriented coding is much like JavaScript's. Better or worse than PHP? I'd say it was better in ASP. PHP's OO (in v4) feels more like it was an after-thought. But at the same time, to produce a web page, do you really need OO design? This could be an entirely seperate argument...
PHP is a lot more feature rich. It excels in string and date handling. String handling is do-able in ASP, but you have a limited number of functions to work with which means you have to re-invent the wheel. And doing web stuff is mostly just working with strings. As for dates, ASP doesn't have anything like PHP's date function. It is very possible to build your own to match PHP's (I did because it drove me nuts not to have it!). The ASP date formatting, by itself, is rather limiting.
Continuing on about being feature rich, PHP has a lot of stuff included in it to handle things like graphics, PDFs, curl, etc which doesn't come included with ASP. In some cases, you have to buy additional components to plug into ASP to do what PHP can already do.
Another thing that bugged the snot out of me with ASP is handling library files. Lets say you have a file with a collection of functions. You wish to have this collection included with each page. In PHP, its a simple include() or require() option. ASP (non-.NET flavor under IIS) requires you to use SSI to include the file. If you do SSI, there's no way to dynamically skip loading the file (in PHP,you can use if() to wiggle around an include/require).
I love PHP's array handling. I don't remember any examples at the moment, but I do remember ASP's array handling to be a bit strict in what you could get away with. Being strict could also be a good thing if you're looking to write non-buggy code without having much experience.
I personally choose the language my bosses want me to use (followed by which ever one gets the job done). But for coding at home, PHP is my choice. If you're using (or stuck with) IIS, then ASP definitely makes sense. Otherwise PHP can do just about everything ASP can do and usually make it a lot easier too.
Keep in mind its hard to debate two languages. There's coding preferences, ease of use, the task at hand, and background experience that all plays into picking one over the other. I'd say spend some time and figure out what platform you wish to develop under and pick the language that best fits it...