Une distinction fondamentale à bien comprendre : HTML, CSS et Javascript sont les langages que votre navigateurs comprend.
Le PHP est lui interprété par le serveur, et votre navigateur n’y est jamais confronté. Il y a de nombreux concurrents au PHP, d’ailleurs : les technologies .Net de Microsoft (ASP), les technologies Java (ça tourne autour des servlets et des JSP, mais il y en a trop pour pouvoir toutes les énumérer : JSF, Struts, GWT, Spring MVC...), Python, Ruby...
Le principe de la partie serveur est de générer des documents web à la demande, en fonction de règles métier, de paramètres envoyés lors de la requête et de contenu persistant (dans une base de données, le plus souvent).