:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte
Unternehmen im
Anbieterverzeichnis von SELFPHP
:: SELFPHP Forum ::
Fragen rund um die Themen PHP? In über
120.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
:: Qozido ::
Die Bilderverwaltung mit Logbuch für
Taucher und Schnorchler.
|
|
Eine übermittelte Variable in eine Zahl konvertieren |
Systemvoraussetzung
- Linux
- Windows
- PHP 3
- PHP 4
- PHP 5
Datei(en)
integer_check.php, integer_check1.php
Problem
Sie möchten wissen, ob die übermittelte Variable auch wirklich nur eine Zahl
enthält. Oftmals ist diese Information wünschenswert, z. B. wenn Sie aus einer
Datenbank einen bestimmten Datensatz mit der ID 4 (ein Beispiel) ausgeben
wollen. Auch bei mathematischen Berechnungen benötigen wir nur Zahlen und
keine Textelemente.
Lösung
Wir können auf einfache Art und Weise die übergebene Variable in eine Zahl
konvertieren. Dafür müssen wir lediglich zu der Variablen eine 0 (Null) addieren.
Dabei passiert folgendes:
123 |
wird zu 123 |
123.78 |
wird zu 123.78 |
123,78 |
wird zu 123 |
123String |
wird zu 123 |
-123.78 |
wird zu -123.78 |
-123,78 |
wird zu -123 |
123Text456 |
wird zu 123 |
24:
25: 26: 27: 28: 29:
| $value = $_GET['id'] + 0;
if(($_GET['id'] + 0) == 0) echo 'Bitte geben Sie nur Zahlen ein! ' . $_GET['id']; else echo 'Ihre Zahl: ' . $value;
| Beispiel 4.2: integer_check.php
Wie Sie sehen, war die Konvertierung ein Kinderspiel. Sie haben jetzt auf jeden
Fall eine Zahl vorliegen. Aber ist das ausreichend? Nein, Sie sollten weitere
Überprüfungen vornehmen. Bei einer Datenbankabfrage nach einer ID wird
Ihnen eine konvertierte Floatzahl (Fließkommazahl) auch nicht weiterhelfen.
24:
25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| $value = $_GET['id'] + 0;
if(($_GET['id'] + 0) == 0){ echo 'Bitte geben Sie nur Zahlen ein! ' . $_GET['id'];
} else {
echo 'Ihre Zahl: ' . $value . '<br>'; if(is_int($value))
echo $value . ' ist eine Ganzzahl.';
if(is_float($value)) echo $value . ' ist eine Fließkommazahl.'; }
|
Beispiel 4.3: integer_check1.php
Ausgabe im Browser
Ihre Zahl: 123.56
123.56 ist eine Fließkommazahl. |
Jetzt besteht noch eine weitere Frage: Wollen wir einfach die konvertierte Zahl
so nehmen? Diese Frage müssen Sie selbst beantworten. Je nach Aufgabenstellung
kann die Antwort unterschiedlich sein. Wenn Sie der Meinung sind, dass
die konvertierte Zahl nicht dem Programmablauf schadet, können Sie diesen
Wert heranziehen, ansonsten müssen Sie anders reagieren.
Dieses Skript aus dem SELFPHP KOCHBUCH wurde von SELFPHP unter dem "Tarif Mc500" von McAc.net-Webhosting erfolgreich ausgeführt und getestet!
Auf der Übersichtseite unter "McAc.net – Webhosting zu diesem Buch" finden Sie weitere Informationen zu dem Webhostingpaket, dass durch SELFPHP getestet wurde.
|
|
|
|
|
|