Tach!
Stimmt, solange $counter wie in dem kurzen Beispiel ein reiner Zahlen-Typ ist
Ich würde die Notwendigkeit von htmlspecialchars() nicht am Typ festmachen, sondern an der Quelle. Wenn der Wert aus dem Script selbst stammt, ist er unbedenklich.
Es kommt auf den Inhalt an. Wenn der ein im Script notierter String mit Sonderzeichen im Sinne des Zielkontextes ist, ist die Quelle immer noch unbedenklich - und trotzdem muss er behandelt werden. Andererseits, wenn zum Beispiel eine API garantiert einen Integer-Typ liefert, kann zwar die Quelle an sich als nicht vertrauenswürdig gewertet werden, doch der Integer-Wert ist unbedenklich. Das Problem bei PHP ist nur, dass skalare Typen nicht garantiert werden können, die Übergebenbekommen eines Integers nicht erzwungen werden kann. (Man kann ihn lediglich selbst (mit intval()/Typcast) in ein entsprechendes Korsett zwingen.)
dedlfix.