In PHP würde "aaa" + "bbb"
0
erzeugen.
Ich weiß, dass, um zwei Strings in PHP zu verketten, ich .
verwenden muss. Aber ich weiß nicht, warum der Zusatz +
von zwei Strings in PHP dieses Ergebnis erzeugt?
Wenn Sie arithmetische Operatoren für Nicht-Zahlen verwenden, wandelt PHP sie in Integer-Typen um. PHP ist eine Art Smart, also würde String "1"
in Ganzzahl 1
umgewandelt und String "1.0"
würde in Float umgewandelt werden, jedoch würde "aaa"
in Ganzzahl 0
sowie "bbb"
umgewandelt werden. Also sind beide in 0
umgewandelt% 0 + 0
, was offensichtlich 0
ist.
Siehe PHP: String-Konvertierung in Zahlen .
Ab PHP 7.1.0 wird Folgendes generiert:
Warnung: Ein nicht-numerischer Wert wurde gefunden
Dies ist jedoch in Ordnung, da sie numerisch sind, jedoch kein numerischer Typ (Zeichenfolgen):
%Vor%