Heim > Artikel > Backend-Entwicklung > So ermitteln Sie, ob es sich in PHP um eine Ganzzahlzeichenfolge handelt
Zwei Beurteilungsmethoden: 1. Verwenden Sie is_numeric() und strpos(), um zu beurteilen, ob es sich bei der Zeichenfolge um eine numerische Zeichenfolge handelt, die keinen Dezimalpunkt enthält. Die Syntax lautet „!is_numeric($str)||strpos($str,“. „.“)! ==false“, wenn false zurückgegeben wird, handelt es sich um eine Ganzzahlzeichenfolge und umgekehrt. 2. Konvertieren Sie die Zeichenfolge mit intval() in einen ganzzahligen Wert und ermitteln Sie mit dem Operator „==“, ob der ganzzahlige Wert mit der ursprünglichen Zeichenfolge übereinstimmt. Die Syntax lautet „intval($str)==$str“. .
Die Betriebsumgebung dieses Tutorials: Windows7-System, PHP8-Version, DELL G3-Computer
php bestimmt, ob eine Zeichenfolge eine Ganzzahlzeichenfolge ist
Methode 1: Verwenden Sie die Funktion is_numeric() und strpos( )-Funktion, um ein Urteil zu fällen
Beurteilen Sie einfach, ob die Zeichenfolge eine numerische Zeichenfolge ohne Dezimalpunkt ist
Beispiel: Überprüfen Sie, ob die Zeichenfolgen „a678“, „3.14“ und „67854“ ganzzahlige Zeichenfolgen sind.
<?php header("Content-type:text/html;charset=utf-8"); function f($str){ if(!is_numeric($str)||strpos($str,".")!==false){ echo "$str 字符串不是整数字符串<br><br>"; }else{ echo "$str 字符串是整数字符串<br><br>"; } } f("a678"); f("3.14"); f("67854"); ?>
Analyse: Die Funktion
is_numeric() kann feststellen, ob es sich um eine Zahl oder eine numerische Zeichenfolge handelt, sie kann jedoch nicht prüfen, ob die Zeichenfolge eine Ganzzahl ist, d. h. die Zeichenfolge kann eine Ganzzahl oder sein eine Gleitkommazahl;
In diesem Fall müssen Sie strpos() verwenden, um zu beurteilen, ob die Zahlenzeichenfolge einen Dezimalpunkt enthält, und Sie können Gleitkommazahlen ausschließen.
Erklärung:
intval()-Funktion
intval()-Funktion wird verwendet, um den ganzzahligen Wert einer Variablen abzurufen. Die Funktion
intval() gibt den ganzzahligen Wert der Variablen var unter Verwendung der angegebenen Basiskonvertierung zurück (Standard ist Dezimal). intval() kann nicht mit Objekt verwendet werden, andernfalls wird ein E_NOTICE-Fehler generiert und 1 zurückgegeben.
int intval ( mixed $var [, int $base = 10 ] )Parameterbeschreibung:
$var: der in eine Ganzzahl umzuwandelnde Mengenwert.
$base: die für die Konvertierung verwendete Basis.
Wenn die Basis 0 ist, bestimmen Sie die verwendete Basis, indem Sie das Format von var ermitteln:
Wenn die Zeichenfolge das Präfix „0x“ (oder „0X“) enthält, verwenden Sie hexadezimal (hex); andernfalls
Wenn die Zeichenfolge mit „0“ beginnt, verwenden Sie Oktal; andernfalls verwendet
Dezimalzahl.
Rückgabewert
Der ganzzahlige Wert von var wird bei Erfolg zurückgegeben, und 0 wird bei Fehler zurückgegeben. Ein leeres Array gibt 0 zurück, ein nicht leeres Array gibt 1 zurück.
Der Maximalwert hängt vom Betriebssystem ab. Der maximale vorzeichenbehaftete Ganzzahlbereich auf 32-Bit-Systemen beträgt -2147483648 bis 2147483647. Auf einem solchen System würde intval('1000000000000') beispielsweise 2147483647 zurückgeben. Auf einem 64-Bit-System beträgt der maximale vorzeichenbehaftete Ganzzahlwert 9223372036854775807.
Strings können 0 zurückgeben, obwohl dies vom Zeichen ganz links in der Zeichenfolge abhängt.
Methode 2: Verwenden Sie die Funktion intval() und den Operator „==“, um eine Beurteilung zu treffen
Sie müssen nur die Zeichenfolge in eine Ganzzahl umwandeln und dann beurteilen, ob die Ganzzahl gleich ist vorherige Zeichenfolge.
Beispiel:
<?php header("Content-type:text/html;charset=utf-8"); function f($str){ $result = intval($str); if($result==$str){ echo "$str 字符串是整数字符串<br><br>"; } else{ echo "$str 字符串不是整数字符串<br><br>" ; } } f("678"); f("678d"); f("a678"); f("3.14"); ?>
Analyse:
Verwenden Sie die Funktion intval(), um die Zeichenfolge in einen ganzzahligen Wert umzuwandeln.
Verwenden Sie den Operator „==", um zu bestimmen, ob der ganzzahlige Wert gleich ist zur Originalzeichenfolge
Beschreibung:
is_numeric()-Funktion
is_numeric()-Funktion wird verwendet, um zu erkennen, ob eine Variable eine Zahl oder eine numerische Zeichenfolge ist.
bool is_numeric ( mixed $var )
$var: die zu erkennende Variable.
Rückgabewert
Wenn die angegebene Variable eine Zahl oder eine numerische Zeichenfolge ist, gibt sie TRUE zurück, andernfalls gibt sie FALSE zurück. Beachten Sie, dass der Gleitkommatyp 1 zurückgibt, was TRUE ist.
strpos()-Funktion
strpos()-Funktion findet das erste Vorkommen einer Zeichenfolge in einer anderen Zeichenfolge (Groß-/Kleinschreibung beachten).
strpos($string,$find,$start)
$string: erforderlich. Gibt die Zeichenfolge an, nach der gesucht werden soll.
$find: erforderlich. Gibt die Zeichen an, nach denen gesucht werden soll.
$start: Optional. Gibt den Ort an, an dem die Suche gestartet werden soll.
Rückgabewert:
Gibt die Position des ersten Vorkommens einer Zeichenfolge in einer anderen Zeichenfolge zurück oder gibt FALSE zurück, wenn die Zeichenfolge nicht gefunden wird. Hinweis: Die Zeichenfolgenposition beginnt bei 0, nicht bei 1.
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob es sich in PHP um eine Ganzzahlzeichenfolge handelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!