Sven Rautenberg: Zahlen unter Hochkomma oder nicht?

Beitrag lesen

Moin!

Ich kapier jetzt langsam gar nix mehr. Wann muss man bei PHP Zahlen unter Hochkomma setzen und wann nicht?
Ich komme von Javascript und habs schon dort nicht kapiert. Da gabs ja wieder eine Regelung, dass man bestimmte Zahlen unter Hochkomma setzen muss, damit sie erkannt werden.

Javascript und PHP sind in dieser Sache nicht vergleichbar.

In Javascript haben die Variableninhalte einen Typ, der sich nicht automatisch wechselt. Und es gibt z.B. identische Operatoren zum Addieren von Zahlen und Aneinanderhängen von Strings.

jsvariable = "1"; -> Erzeugt einen String.

alert (jsvariable+jsvariable); hängt den String "1" zweimal aneinander: "11".

jsvariable = 1; -> Erzeugt eine Zahl.

alert (jsvariable+jsvariable) berechnet 1+1 und zeigt das an: "2".

Bei PHP werden Variablen je nach Kontext mal als String und mal als Zahl betrachtet. Damit obiges Beispiel eindeutig entschieden werden kann, gibts zum _rechnen_ das Pluszeichen und zum Verbinden von Strings den Operator "Punkt".

$phpvariable = "1"; -> Erzeugt die Variable.

echo $phpvariable + $phpvariable; Gibt 1+1 aus, also 2.
echo $phpvariable . $phpvariable; Hängt die zwei Strings aneinander: "11".

Interessant wird es immer dann, wenn im String nicht nur eine Zahl drinsteht, sondern auch Text, aber damit gerechnet werden soll.

Du kannst testen, ob eine Variable (egal ob String oder Zahl) (von Formularen kommen nur Strings!) eine Zahl ist: http://www.php.net/manual/de/function.is-numeric.php

- Sven Rautenberg