php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.03.2006, 11:41  
bp158
Gast
 
Beiträge: n/a
Standard Feststellen ob Zahl = Ganzzahl ??

Hi,

wie kann ich mit PHP feststellen, ob eine Zahl in einer Variable eine Ganzzahl (also ohne Kommastelle) ist oder nicht ?

BP
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.03.2006, 11:46  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

wie bitte was?

is_int()
is_integer()
is_float()

was macht das im «PHP-Fortgeschrittene» Forum?
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 09.03.2006, 12:05  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Hallo "BP" und herzlich willkommen.

Jo, hast das falsche Forum erwischt. Betrifft ja absolute basics.

Deshalb: verschoben...

Basti
Basti ist offline  
Alt 09.03.2006, 12:18  
Gast
 
Beiträge: n/a
Standard

Die Funktionen is_int, is_integer und is_float funktionieren leider nicht bei Werten, die per Post oder Get in das Script gekommen sind. Denn da sind das immer Strings.
PHP-Code:
<?php
  $x 
1;
  
$y 1.2;
  
$z "1.a";
  if (
is_numeric($x))
     echo (
$x == (int)$x) ? "Ganzzahl" "Realzahl";
  else
     echo 
"Keine Zahl";

  echo 
"
"
;

  if (
is_numeric($y))
     echo (
$y == (int)$y) ? "Ganzzahl" "Realzahl";
  else
     echo 
"Keine Zahl";

  echo 
"
"
;

  if (
is_numeric($z))
     echo (
$z == (int)$z) ? "Ganzzahl" "Realzahl";
  else
     echo 
"Keine Zahl";
?>
Gruß
phpfan
 
Alt 09.03.2006, 12:34  
Gast
 
Beiträge: n/a
Standard

naja, ob das auch in Anfänger richtig wäre ?

aber gehe mal davon aus, dass wieder mal ein String vorliegt, wo keiner erwünscht war:
PHP-Code:
<?php



$zahl
="1";
$zahl=(int)$zahl;
$zahl++;
echo 
$zahl;

$zahlfloat=1.1234567;
$vergleich="1";
if((int)
$zahlfloat==(int)$vergleich){
echo 
"
\nzahlfloat wurde nicht verändert aber Vergleich klappt:"
.$zahlfloat;}


?>
?>
 
Alt 09.03.2006, 12:43  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

wens nur um INT geht kann man das doch auch so machen:
PHP-Code:
<?PHP
$zahl 
'12';
if (
is_string($zahl)){
    if(
ctype_digit($zahl)){
        echo 
$zahl.' ist INT';
    }
    else{
        echo 
'NICHT INT';
    }
}
elseif (
is_numeric($zahl)){
    if(
is_int($zahl)){
        echo 
$zahl.' ist INT';
    }
    else{
        echo 
'NICHT INT';
    }
}
?>
oder?!
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 09.03.2006, 12:46  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von phpfan
Die Funktionen is_int, is_integer und is_float funktionieren leider nicht bei Werten, die per Post oder Get in das Script gekommen sind. Denn da sind das immer Strings.
PHP-Code:
<?php
  $x 
1;
  
$y 1.2;
  
$z "1.a";
  if (
is_numeric($x))
     echo (
$x == (int)$x) ? "Ganzzahl" "Realzahl";
  else
     echo 
"Keine Zahl";

  echo 
"
"
;

  if (
is_numeric($y))
     echo (
$y == (int)$y) ? "Ganzzahl" "Realzahl";
  else
     echo 
"Keine Zahl";

  echo 
"
"
;

  if (
is_numeric($z))
     echo (
$z == (int)$z) ? "Ganzzahl" "Realzahl";
  else
     echo 
"Keine Zahl";
?>
Gruß
phpfan
gutes Beispiel
nicht nur das, auch bei Datenbankabfragen, wo die SQL-Variablen als int oder float definiert sind, weil $row ein string ist.

$id=$row->id;

da stolpern selbst Fortgeschrittene drüber
 
Alt 09.03.2006, 12:53  
Gast
 
Beiträge: n/a
Standard

Aber umgekehrt funktionieren die string-Funktionen auch bei Zahlen (weil diese vorher umgewandelt werden).
PHP-Code:
<?php
function ganzzahl($a) {
    echo 
$a' ist ', (strpos($a'.')==false) ? 'eine':'keine'" Ganzzahl.\n";
}

ganzzahl(1.1);
ganzzahl(2);
ganzzahl("1.1");
ganzzahl("0");
?>
 
Alt 09.03.2006, 13:08  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

es gibt doch die Funktion ctype_digit() was spricht dagegen (siehe mein Beispiel)?
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 09.03.2006, 13:21  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von dsmcg
es gibt doch die Funktion ctype_digit() was spricht dagegen (siehe mein Beispiel)?
--enable-ctype ab 4.2.0
man sollte nie davon ausgehen, dass alle die neueste PHP-Version und
auch richtig konfiguriert haben !

 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zahl splitten und aufteilen Autoterrorist PHP Tipps 2008 9 30.07.2008 21:27
zahlen mit zeilenumbruch nach x-ter zahl ausgeben centauro PHP Tipps 2008 2 09.02.2008 14:22
string auf bestehen �berpr�fen und so lange zahl anh�n Promaetheus PHP Tipps 2006 10 26.04.2006 23:05
Ereignis bei jeder glatt durch 50 teilbaren Zahl SvenLittkowski PHP Tipps 2006 3 09.01.2006 02:52
Größe feststellen? Drago PHP Tipps 2007 5 10.11.2005 22:42
preg_replace: Zahl anstatt String FI-DD PHP-Fortgeschrittene 4 02.10.2005 14:50
Feststellen wie viele Ziffern eine Zahl vor dem Komma hat Wimme PHP Tipps 2005-2 2 01.10.2005 14:10
Variable (Zahl) abschneiden ? horvath-media PHP Tipps 2005-2 1 26.08.2005 18:34
zahl ausgeben wenn gerade Tschuu PHP Tipps 2005-2 6 07.07.2005 19:20
Prüfung auf Zahl, Wert in PHP? PHP Tipps 2005-2 1 07.06.2005 10:32
Größte Zahl raussuchen themonk PHP Tipps 2005 3 21.04.2005 19:27
$zahl in eine echte Zahl im Script?!? Matthiasnet PHP Tipps 2005 3 07.03.2005 22:17
zahl von fremder seite herausfiltern! PHP Tipps 2004-2 3 12.11.2004 15:12
Zahl aus txt-datei auslesen... PHP Tipps 2004 6 23.07.2004 13:37
Zahl aus Textstring rausziehen PHP Tipps 2004 2 11.07.2004 14:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php ganzzahl, prüfen ob eine float zahl ganzzahlig ist, php prüfen ob zahl ohne komma, werte prüfen ob ganzzahlig php, php ob zahl, php feststellen nicht integer, if($i / x = ganzzahl), php prüfen ob zahl ganzzahl, sql feststellen ob zahl ganzzahlig ist, echo $zahl, php ganzzahl prüfen, überprüfen ob zahl integer ist php, php prüfen ob variable ganzzahlig, php test ganzzahlig, ermitteln zahl ganzzahlig, php test auf realzahl, php zahl ganzzahlig, abfragen ob ganze zahl php, php ist zahl, php prüfen auf ganzzahligen integer

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:13 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.