PHP: Is_numeric gibt false zurück auf 0
Is_numeric()
sowie is_int()
gibt false zurück, wenn der Wert 0 ist. Was kann ich stattdessen tun, um zu überprüfen, dass ein bestimmter Wert nur zahlen in PHP?
Sind wir geradewegs auf die Regulären Ausdrücke, die Lager, oder gibt es einige schöne, nützliche Funktion für das es schon gibt?
Dank!
kein repro,
Sie sicher, es ist nicht der Buchstabe O statt einer null?
Ich bekomme zwar auf beiden, wenn ich $var = 0; -- Geist posting etwas code?
Möglicherweise mit... anderen Sprache, aber ähnliches problem: stackoverflow.com/questions/691199/c-parse-string-0-to-integer/...
Vielen Dank für Ihre Stimme mich ab. Ich habe natürlich überprüft, dass es eine 0(null).
is_numeric(0)
zurück bool(true)
für mich. das gleiche mit is_int
Sie sicher, es ist nicht der Buchstabe O statt einer null?
Ich bekomme zwar auf beiden, wenn ich $var = 0; -- Geist posting etwas code?
Möglicherweise mit... anderen Sprache, aber ähnliches problem: stackoverflow.com/questions/691199/c-parse-string-0-to-integer/...
Vielen Dank für Ihre Stimme mich ab. Ich habe natürlich überprüft, dass es eine 0(null).
InformationsquelleAutor Industrial | 2010-05-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist Rückgabe von true für mich in beiden Fällen:
Ergebnis:
InformationsquelleAutor Sarfraz
Null, wie eine ganze Zahl ist leer.
Stellen Sie also sicher, dass es keine überprüfung für leere, bevor Sie prüfen für Is_numeric() oder is_int()
InformationsquelleAutor Webdimension
Übergeben wird, falsch, weil Sie auf der Durchreise sind es die null als string-literal. Sie könnten versuchen, vorbei das gleiche wie eine variable, die mitgemacht hat (glaube ich) parseInt("");
Obwohl mein php ein wenig aus, nachdem Javascripting nonstop der letzten Woche oder zwei.
das ist ein Paradoxon 😉
Duuh. Das war eine für die wall of fame auf jeden Fall. Der Wert, der übergeben wurden, nicht einen string, sondern nur eine Nummer. Ich hoffe, dass es verständlich 😉
InformationsquelleAutor Douglas
Beim Umgang mit der ANFORDERUNG ist besser prüfen Sie die Eingabe zunächst mit filter_input. Hier ist ein Beispiel check 'id', $_GET.
das vollständige Beispiel
Gut, das feature kommt mit der version PHP >= 5.2.
InformationsquelleAutor Weijing Lin
Ich struggeled auf das gleiche problem, und es happenned, es war ein Leerzeichen nach der Zahl.
Lange Geschichte kurz, was immer die Zahl ist:
Hier ist ein Beispiel...
Später im Prozess...
Gedruckt auf dem Bildschirm:
InformationsquelleAutor Xavier
Dies kann auch geschehen, wenn dieser
0
ist ein boolescherFALSE
in der Tat.is_numeric()
gibt immerFALSE
für "boolean".InformationsquelleAutor Krzysztof Przygoda
Nicht nur, dass diese Antwort keinen Sinn machen, es gibt einen syntax-error beim Booten.
InformationsquelleAutor Waseem Ahmed