Heim  >  Artikel  >  Backend-Entwicklung  >  So ermitteln Sie, ob es sich in PHP um eine Ganzzahlzeichenfolge handelt

So ermitteln Sie, ob es sich in PHP um eine Ganzzahlzeichenfolge handelt

青灯夜游
青灯夜游Original
2023-01-17 18:54:101881Durchsuche

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“. .

So ermitteln Sie, ob es sich in PHP um eine Ganzzahlzeichenfolge handelt

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

So ermitteln Sie, ob es sich in PHP um eine Ganzzahlzeichenfolge handelt

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

So ermitteln Sie, ob es sich in PHP um eine Ganzzahlzeichenfolge handelt

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!

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