2016-09-21 2 views
0

In PHP Berechnung ich eine einfache Berechnung zu machen, aber mit StreichernPHP: Ist mit Strings zuverlässig

$num_1 = '200.50'; (string) 
$num_2 = '100.50'; (string) 

echo $num_1 - $num_2 

Das Ergebnis wie erwartet 100.00

Was ich frage mich, ist die Tatsache, dass ich nicht werfen die Werte zu floaten und trotzdem das richtige Ergebnis zu erhalten.
Und meine Frage ist, ob diese Art von (String) Berechnung zuverlässig ist?

+1

Es heißt "PHP-Typ Jonglieren". Ihre zwei Zeichenfolgen werden in einem numerischen Kontext verwendet, sodass sie in Gleitkommazahlen konvertiert werden. – Rizier123

+0

Probieren Sie dies aus und sehen --- --- echo gettype ($ num_1 - $ num_2); // double –

+0

PHP Autocasts Variablen. Wenn Sie versuchen, eine Zeichenfolge var zu berechnen, wird sie in eine Ganzzahl konvertiert. Wenn Sie String-Operationen an einem Int ausführen, wird dies zu einer Zeichenfolge $ a = 2; $ b = $ a. ' Ich bin jetzt eine Schnur '; echo $ b; // "2 Ich bin jetzt ein String" –

Antwort

1

Es ist zuverlässig, wenn Sie Zahlen in Ihrer Zeichenfolge verwenden. Wenn Sie Buchstaben, Sonderzeichen oder andere Dinge verwenden, die Sie in der Grundrechenart nicht erwarten würden, könnten Sie unerwartete Ergebnisse erhalten.

Weitere Informationen darüber, welches Verhalten Sie erwarten können und wie Sie Probleme vermeiden können, finden Sie in der PHP-Dokumentation zum Typ Jonglieren.

http://php.net/manual/en/language.types.type-juggling.php

+0

Hallo Leute - schnelle Antworten - super. Rizier123 war zuerst, aber Goose gab die vollständigste Antwort. Also akzeptiere ich seine Antwort - okay? – Ben

+0

Gans - schöne Website ;-) – Ben

Verwandte Themen