gcc ist etwas detaillierter, das stimmt. Allerdings kümmert sich gcc auch um komplexere Sprachen.
Gerade den Umstand, daß man Variablen nicht deklarieren muß finde ich eher einsterigerfreundlich - Anfänger wollen sich nicht mit Dingen wie dem Unterschied zwischen Integern und Floats oder Typecasts herumschlagen. Wenn ich in C(++) einen Integer mit einem String vergleichen will, dann ist das relativ kompliziert; bei PHP benutze ich == und gut ist. Mal abgesehen davon, daß das Arbeiten mit Strings unter C++ generell eklig ist.
"Nur globale Variablen"... Entweder macht es keinen Unterschied oder man sollte sowieso unset() benutzen. Das $ ist wohl kaum ein Grund, PHP als einsteigerfeindlich zu betrachten - es ist nur Syntax.

Außerdem ist es wesentlich schwerer, mit C(++) überhaupt etwas lauffähiges zu schreiben; mit PHP hat man schnell brauchbare Resultate.