Hi,
PHP-Code:
Aber hast Du auch eine Erklärung, warum
PHP-Code:
$a=1; $b=2;
echo '.'.$a+$b.'.';
2.1.
ergibt?
PHP-Code:
$var = '.'; // "."
$var .= $a; // ".1"
$var += $b; // "2" falsch! Hier wandelt PHP den Inhalt der Variable $var in eine Zahl um (float) als Ergebnis entsteht 0.1 (der Punkt wird als Dezimalzeichen gewertet). Zu dieser Zahl wird der Inhalt von $b addiert. Ergebnis: 2.1
$var .= '.'; // "2." falsch! Hier wird aus der Zahl wieder ein String gemacht, indem ein Punkt angefügt wird. Ergebniss: "2.1."
echo $var; // "2.1." ???
Peter
Edit:
Der gleiche Fehler ist in dem Beispiel von Brain vorhanden, nur, das bei der Umwandlung eines Strings in eine Zahl immer als Ergebnis 0 herauskommt, sofern der String nicht mit einer Zahl anfängt.
Einen Kommentar schreiben: