Teil von  SELFPHP
Letztes Update: 24.07.2006 21:28:47 


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  

 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 



 

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.




 

 




 sponsored by

Host Europe


HighText iBusiness


Host Europe




© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt