Heim >Backend-Entwicklung >PHP-Problem >So erkennen Sie in PHP, ob eine Zeichenfolge eine Zahl ist

So erkennen Sie in PHP, ob eine Zeichenfolge eine Zahl ist

青灯夜游
青灯夜游Original
2022-08-29 19:21:535456Durchsuche

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.

So erkennen Sie in PHP, ob eine Zeichenfolge eine Zahl ist

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");

?>

So erkennen Sie in PHP, ob eine Zeichenfolge eine Zahl ist

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");
    ?>
  • Anleitung:

    1. Fügen Sie einfach den in Klammern eingeschlossenen Zieltyp vor der zu konvertierenden Variablen hinzu:

So erkennen Sie in PHP, ob eine Zeichenfolge eine Zahl ist(int), (integer): Konvertieren in einen Ganzzahltyp;

(bool), (boolean): Konvertieren in einen booleschen Typ;

(float), (double), (real) : Konvertieren in Gleitkommatyp;

  • (String): In String-Typ konvertieren;

  • (Objekt): In Objekttyp konvertieren.

  • <?php
    header(&#39;content-type:text/html;charset=utf-8&#39;);   
    $str = &#39;123.456abc&#39;;
    echo &#39;原变量 $str 的类型为:&#39;.gettype($str)."<br>";
    $int = (int)$str;
    echo &#39;变量 $int 的类型为:&#39; . gettype($int) . &#39;<br>&#39;;
    $float = (float)$str;
    echo &#39;变量 $float 的类型为:&#39; . gettype($float) . &#39;<br>&#39;;
    $bool = (bool)$str;
    echo &#39;变量 $bool 的类型为:&#39; . gettype($bool). &#39;<br>&#39;;
    $arr = (array)$str;
    echo &#39;变量 $arr 的类型为:&#39; . gettype($arr);
    ?>
  • 2. strcmp()-Funktion
  • strcmp()-Funktion vergleicht zwei Zeichenfolgen.

    strcmp(string1,string2)
  • Rückgabewert:
  • Die Funktion gibt zurück:

    0 – wenn die beiden Strings gleich sind
So erkennen Sie in PHP, ob eine Zeichenfolge eine Zahl ist>0 – wenn String1 größer als String2 ist

Empfohlenes Lernen: „PHP-Video-Tutorial

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn