Überprüfen ganzzahliger Datentypen in PHP
Beim Umgang mit numerischen Daten in PHP kann es entscheidend sein, zu bestimmen, ob eine Variable eine Ganzzahl darstellt. Um dies zu beheben, wird üblicherweise die Funktion is_int() verwendet. Allerdings kann sein Verhalten manchmal unerwartet sein und zu Verwirrung führen.
Um dies zu beheben, führen wir alternative Methoden zur Validierung ganzzahliger Datentypen ein:
FILTER_VALIDATE_INT
Mit dieser Methode können Sie effizient beurteilen, ob eine Variable eine Ganzzahl darstellt:
if (filter_var($variable, FILTER_VALIDATE_INT) === false) {
// Variable is not an integer
}
Dieser Ansatz verarbeitet präzise Ganzzahlen, Gleitkommazahlen und sogar Zeichenfolgen.
CASTING-VERGLEICH
Durch Konvertieren der Variablen in eine Ganzzahl und Wenn Sie es mit seiner ursprünglichen Form als Zeichenfolge vergleichen, können Sie seine ganzzahlige Natur bestimmen:
if (strval($variable) !== strval(intval($variable))) {
// Variable is not an integer
}
Diese Methode stellt sicher, dass nur echte Ganzzahlen als Ganzzahlen betrachtet werden.
CTYPE_DIGIT
Um Ihre Validierung auf nicht negative Ganzzahlen (0 oder größer) zu beschränken ), können Sie die Funktion ctype_digit() verwenden:
if (!ctype_digit(strval($variable))) {
// Variable is not an integer
}
Dieser Ansatz konzentriert sich auf positive ganze Zahlen und Null und bietet eine spezifischere Validierung.
REGELMÄßIGER AUSDRUCK
Die Verwendung regulärer Ausdrücke bietet eine weitere Option zur Validierung ganze Zahlen:
if (!preg_match('/^-?\d $/', $variable)) {
// Variable is not an integer
}
Diese Methode validiert Ganzzahlen, ob positiv oder negativ, und schließt Gleitkommazahlen oder Zeichenfolgen aus.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3