PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

04-04-2008, 17:56
|
janein
Member
|
|
Registriert seit: May 2003
Beiträge: 206
|
|
is_numeric() ist immer false - ????
Ich versuche zu überprüfen, ob zeitmix eine zahl ist. Leider klappt das nicht.
PHP-Code:
Array
(
[0] => 4.4.2008
[1] => Neues Buch
[2] =>
)
if(is_numeric($zeitmix[0]))
{
...
}else{
var_drump($zeitmix); ist false.
Warum?
|

04-04-2008, 18:00
|
DerSchonWieder
Newbie
|
|
Registriert seit: Feb 2008
Beiträge: 74
|
|
Tja, seit wann sind Punkte (.) Dezimalziffern?!
|

04-04-2008, 18:05
|
janein
Member
|
|
Registriert seit: May 2003
Beiträge: 206
|
|
Zitat:
Original geschrieben von DerSchonWieder
Tja, seit wann sind Punkte (.) Dezimalziffern?!
|
is_numeric — Prüft, ob eine Variable eine Zahl oder ein numerischer String ist. Verstehe ich da etwas falsch?
Die Beispiele sagen das:
PHP-Code:
is_numeric('0123'); // true
is_numeric(0.123); // true
is_numeric('0.123'); // true
is_numeric(123); // true
is_numeric('123'); // true
is_numeric('foo'); // false
Tatsächlich geht es ohne die Punkte. Doch wie kann ich bei der Überprüfung die Punkte unberücksichtigt lassen?
Geändert von janein (04-04-2008 um 18:09 Uhr)
|

04-04-2008, 18:11
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.745
|
|
Schon, aber seit wann hat eine Zahl mehrere Dezimaltrennzeichen? Daher kann 4.4.2008 nicht true ergeben.
|

04-04-2008, 18:14
|
janein
Member
|
|
Registriert seit: May 2003
Beiträge: 206
|
|
Zitat:
Original geschrieben von asp2php
Schon, aber seit wann hat eine Zahl mehrere Dezimaltrennzeichen? Daher kann 4.4.2008 nicht true ergeben.
|
Ja, ist mir auch gerade klar geworden
Wie kann man aber einen String von 2.4.2003 unterscheiden?
Geändert von janein (04-04-2008 um 18:25 Uhr)
|

04-04-2008, 18:16
|
case
Registrierter Benutzer
|
|
Registriert seit: Mar 2007
Beiträge: 265
|
|
Steht da denn immer ein Datum? Oder auch irgendetwas anderes, nummerisches?
|

04-04-2008, 18:18
|
ZombieChe
Member
|
|
Registriert seit: Apr 2004
Ort: Hannover
Beiträge: 225
|
|
Wenn du das Format kennst, kannst du es ja mit regulären Ausdrücken prüfen...
|

04-04-2008, 18:28
|
janein
Member
|
|
Registriert seit: May 2003
Beiträge: 206
|
|
Zitat:
Original geschrieben von case
Steht da denn immer ein Datum? Oder auch irgendetwas anderes, nummerisches?
|
Mal steht da dieses Datum, mal ein reiner string. Das sollte unterschieden werden.
|

04-04-2008, 18:31
|
Bugbuster
PHP Junior
|
|
Registriert seit: Mar 2003
Ort: Hamm
Beiträge: 658
|
|
Sehe ich das richtig, dass du jetzt drei Thread's geöffnet hast für zusammenhängende Probleme?!
Wie bereits erwähnt kannst du, wenn das Format immer gleich ist, das Problem anhand von regulären Ausdrücken prüfen. In einem von dem beiden anderen Threads wurde dir zu explode() geraten. Wenn du den String teilst dann kannst du auch jedes Datumssegment einzeln auf is_numeric() prüfen.
mfg
bugbuster
|

04-04-2008, 22:37
|
Shurakai
Master  
|
|
Registriert seit: May 2004
Ort: Bergisch Gladbach
Beiträge: 3.084
|
|
Zitat:
Original geschrieben von janein
Wie kann man aber einen String von 2.4.2003 unterscheiden?
|
Hä? 2.4.2003 ist doch ein String...
|

04-04-2008, 22:47
|
BugBite
Member
|
|
Registriert seit: May 2006
Beiträge: 299
|
|
eben und warum speicherst du eine zahl nicht einfach als zahl??
alles andere ist doch nur formatierungs schnickschnack dann musste
hinterher auch nicht unterscheiden
|

04-04-2008, 23:25
|
zerni
Member
|
|
Registriert seit: Oct 2006
Beiträge: 268
|
|
is_numeric( str_replace(".", "", "22.12.2008") ); -> true
nicht schön, aber selten
__________________
Killerspiele sollten in der Größenordnung von Kinderpornografie eingeordnet werden.(G. Beckstein)
- ...und solche Behauptungen in "falsches Resourcenmanagement"
|

04-04-2008, 23:38
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
sauber wäre es mit preg_match(). aber das wurde ja bereits erwähnt...
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|