Heim >Backend-Entwicklung >PHP-Problem >So erkennen Sie in PHP, ob eine Zeichenfolge eine Zahl ist
Zwei Erkennungsmethoden: 1. Verwenden Sie die Funktion is_numeric(), um zu erkennen, ob eine Zeichenfolge eine numerische Zeichenfolge ist. Die Syntax lautet „is_numeric (string)“ und umgekehrt. 2. Konvertieren Sie die Zeichenfolge in einen numerischen Typ und vergleichen Sie dann die Zahl mit der ursprünglichen Zeichenfolge, um festzustellen, ob sie gleich sind. Die Syntax lautet „strcmp((float)$str,$str)==0“. , umgekehrt nein.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer
Methode 1: Verwenden Sie die Funktion is_numeric(), um zu erkennen
Wenn die Zeichenfolge nur Zahlen enthält, dann die string ist eine numerische Zeichenfolge.
Die Funktion is_numeric() kann erkennen, ob eine Zeichenfolge eine numerische Zeichenfolge ist.
is_numeric ($var)
$var: die zu erkennende Variable.
Gibt TRUE zurück, wenn die angegebene Variable $var eine Zahl oder eine numerische Zeichenfolge ist, andernfalls wird FALSE zurückgegeben. Beachten Sie, dass float 1 zurückgibt, was WAHR ist. (d. h. kann sowohl ganze Zahlen als auch Dezimalzahlen prüfen).
<?php header("Content-type:text/html;charset=utf-8"); function f($str){ if (is_numeric($str)){ echo "$str 是数字字符串<br><br>"; } else{ echo "$str 不是数字字符串<br><br>" ; } } f("a678"); f("678"); f("3.14"); ?>
Methode 2: Typkonvertierung erzwingen und auf Gleichheit vergleichen gleich ist, ist die ursprüngliche Zeichenfolge eine numerische Zeichenfolge.
<?php header("Content-type:text/html;charset=utf-8"); function f($str){ $num=(float)$str; if (strcmp($num,$str)==0){ echo "$str 是数字字符串<br><br>"; } else{ echo "$str 不是数字字符串<br><br>" ; } } f("3.14"); f("a678"); f("678"); f("23d5"); ?>
(int), (integer): Konvertieren in einen Ganzzahltyp;
(bool), (boolean): Konvertieren in einen booleschen Typ;
<?php header('content-type:text/html;charset=utf-8'); $str = '123.456abc'; echo '原变量 $str 的类型为:'.gettype($str)."<br>"; $int = (int)$str; echo '变量 $int 的类型为:' . gettype($int) . '<br>'; $float = (float)$str; echo '变量 $float 的类型为:' . gettype($float) . '<br>'; $bool = (bool)$str; echo '变量 $bool 的类型为:' . gettype($bool). '<br>'; $arr = (array)$str; echo '变量 $arr 的类型为:' . gettype($arr); ?>
strcmp()-Funktion vergleicht zwei Zeichenfolgen.
strcmp(string1,string2)
“ |
---|
Das obige ist der detaillierte Inhalt vonSo erkennen Sie in PHP, ob eine Zeichenfolge eine Zahl ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!