Ich muss mal die Spaßbremse spielen.
PHP ist eine Sprache die
beherscht. Zwangsweise, denn PHP kennt überhaupt keine explizite Definition. In PHP passieren andauernd on-the-fly-conversions, wenn dies Notwendig ist. PHP prüft anhand der Operanden und der verwendeten Operatoren wie die Operanden evaluiert werden und welcher Typ zurückgegeben wird. Beispiel:integer + float gibt float zurück. Mit dem Cast nehmt ihr PHP diese Arbeit ab.
(Ein cast ist keine Umwandlung, das würdet ihr mit settype() machen. Mit einem cast teilt ihr PHP nur mit wie der Operand behandelt werden soll).
integer + float ist teurer als (float)a + float. Um ein paar Mikrosekunden. Und jetzt fragt euch selbst wie oft ihr schon Anwendungen mit ein paar Millionen Iterationen zur Laufzeit hattet.
Ich kenne kein praktisches Beispiel in dem ein expliziter cast mit PHP notwendig wäre. Es ist richtig das PHP manchmal unerwartete Ergebnisse produziert, der Fehler liegt aber i.d.R. im impliziten Code. Der cast ist also ein workaround. Auch die Lesbarkeit wird von einem (int) cast nicht erhöht. Der Typ einer Variable sollte sich (für den Leser) aus Namen, Kontext und dem PHPDoc ergeben.
Mir ist bewusst das Ihr wisst was ihr tut. Das tut ihr sogar aus den richtigen Gründen, aber bedenkt das PHP nicht C ist und das ein bischen gesunder Menschenverstand nie schadet bevor man sich mit Millisekunden bewirft. Und am wichtigsten, nicht mit casts auf Neulinge zielen ;3