Think of ASP and PHP as the same thing, just different flavors. Both are extensions of HTML. Both are somewhat prohibitive, for example, it would be difficult to program a site that used BOTH of these technologies.
PHP, ASP and HTML web sites can also utilize ajax, java, ruby, etc. Some are more difficult than others to implement depending on which design platform you are using. Some platforms do not allow (or make it extremely difficult) to implement the lower level platforms within the main platform.
PHP is commonly done in a LAMP setting. Linux, Apache, MySQL, and PHP.
Linux - OS
Apache - web server software
MySQL - Database
PHP - programming platform
You can add almost anything to PHP, like Perl, Ruby, etc.
It really depends on what you are trying to do as to whether PHP is the best choice. Some people will say you can do it in PHP, but the question is - IS it the BEST choice?