Solo per dare un'idea di ciò su cui sto basando le mie risposte, ho fatto lo sviluppo di PHP in modo professionale per 6+ anni, ho giocato con ASP.NET MVC per circa gli ultimi 3-4 mesi e ho fatto C # programmazione per circa la durata della programmazione PHP.
Per me questo è più un argomento PHP vs C # che uno PHP vs ASP.NET.
Funzionalità / estendibilità
Penso che ASP.NET vinca qui e questo è più dovuto alla capacità di usare un linguaggio come C #. C # è un linguaggio molto migliore di PHP con il supporto OO. Sono anche una persona che preferisce un linguaggio tipizzato staticamente (anche pensato con C # 4.0, credo che tu possa fare variabili tipizzate dinamicamente). L'unica cosa che PHP aveva su C # per quanto riguardava una funzione del linguaggio erano i parametri opzionali, ma questa è un'altra cosa che è stata aggiunta in C # 4.0 (non sono sicuro di come funzioni perché non l'ho ancora provato).
Sicurezza
Probabilmente direi che è un lavaggio tra i due. Penso che entrambi abbiano funzionalità in atto per aiutare con la sicurezza, ma alla fine è il compito del programmatore assicurarsi che la loro applicazione sia sicura.
Frameworks
Beh, PHP sembra avere molti più framework mainstream (CakePHP, Codeigniter, Symfony, Zend Framework) e molti altri framework più piccoli di ASP.NET. ASP.NET ha 2 framework principali di Microsoft, WebForms (un pezzo di merda) e ASP.NET MVC (il motivo per cui ho iniziato ad entrare nello sviluppo di ASP.NET). Mentre PHP ha più framework, trovo che ASP.NET MVC 3 framework sia migliore di qualsiasi framework PHP.
Tempo medio di sviluppo
Penso che per i progetti più piccoli il tempo di sviluppo sia molto migliore in PHP, tuttavia, man mano che il progetto aumenta di dimensioni, C # si adatta meglio a questo riguardo.
Costo
Alcuni che dovrebbero essere allevati sono i costi. PHP passa in basso vince su questo fronte. Sebbene sia possibile eseguire ASP.NET su Mono in Linux, presenta alcuni problemi.
Se stai realizzando un progetto di dimensioni medio-piccole e / o il costo è un fattore, PHP vince. Se stai facendo un progetto su larga scala, sceglierei ASP.NET con C # e ASP.NET MVC.