Maison >développement back-end >Problème PHP >Comment déterminer s'il s'agit d'une chaîne entière en php
Deux méthodes de jugement : 1. Utilisez is_numeric() et strpos() pour déterminer si la chaîne est une chaîne numérique qui ne contient pas de point décimal. La syntaxe est "!is_numeric($str)||strpos($str, ".")! ==false", si false est renvoyé, c'est une chaîne entière, et vice versa. 2. Utilisez intval() pour convertir la chaîne en valeur entière et utilisez l'opérateur "==" pour déterminer si la valeur entière est égale à la chaîne d'origine. La syntaxe est "intval($str)==$str". .
L'environnement d'exploitation de ce tutoriel : système windows7, version PHP8, ordinateur DELL G3
php détermine si une chaîne est une chaîne entière
Méthode 1 : Utilisez la fonction is_numeric() et Fonction strpos() pour porter un jugement
Jugez simplement si la chaîne est une chaîne numérique sans point décimal
Exemple : Vérifiez si les chaînes "a678", "3.14" et "67854" sont des chaînes entières.
<?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 : La fonction
is_numeric() peut déterminer s'il s'agit d'un nombre ou d'une chaîne numérique, mais elle ne peut pas vérifier si la chaîne est un entier, c'est-à-dire que la chaîne peut être un entier ou un nombre à virgule flottante ;
Dans ce cas, vous devez utiliser strpos() pour juger. Utilisez cette fonction pour vérifier si la chaîne numérique contient un point décimal et vous pouvez exclure les nombres à virgule flottante.
Explication :
Fonction intval()
La fonction intval() est utilisée pour obtenir la valeur entière d'une variable. La fonction
intval() renvoie la valeur entière de la variable var en utilisant la conversion de base spécifiée (la valeur par défaut est décimale). intval() ne peut pas être utilisé avec un objet, sinon une erreur E_NOTICE sera générée et 1 sera renvoyé.
int intval ( mixed $var [, int $base = 10 ] )Description du paramètre :
$var : la valeur de la quantité à convertir en entier.
$base : la base utilisée pour la conversion.
Si base est 0, déterminez la base utilisée en détectant le format de var :
- ;
Si la chaîne inclut le préfixe "0x" (ou "0X"), utilisez hexadécimal (hex) Sinon,
si la chaîne commence par "0", utilisez octal ; sinon,
utilisera décimal.
Valeur de retour
La valeur entière de var est renvoyée en cas de succès et 0 est renvoyée en cas d'échec. Un tableau vide renvoie 0, un tableau non vide renvoie 1.
La valeur maximale dépend du système d'exploitation. La plage maximale d'entiers signés sur les systèmes 32 bits est comprise entre -2147483648 et 2147483647. Par exemple, sur un tel système, intval('1000000000000') renverrait 2147483647. Sur un système 64 bits, la valeur entière signée maximale est 9223372036854775807.
Les chaînes peuvent renvoyer 0, bien que cela dépende du caractère le plus à gauche de la chaîne.
Méthode 2 : utilisez la fonction intval() et l'opérateur "==" pour porter un jugement
Il vous suffit de convertir la chaîne en un entier, puis de juger si l'entier est égal au chaîne précédente.
Exemple :
<?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 :
Utilisez la fonction intval() pour convertir la chaîne en valeur entière
Utilisez l'opérateur "==" pour déterminer si la valeur entière est égale à la chaîne d'origine
Description :
fonction is_numeric()
la fonction is_numeric() est utilisée pour détecter si une variable est un nombre ou une chaîne numérique.
bool is_numeric ( mixed $var )
$var : la variable à détecter.
Valeur de retour
Si la variable spécifiée est un nombre ou une chaîne numérique, elle renvoie VRAI, sinon elle renvoie FAUX. Notez que le type à virgule flottante renvoie 1, qui est VRAI.
fonction strpos()
la fonction strpos() trouve la première occurrence d'une chaîne dans une autre chaîne (sensible à la casse).
strpos($string,$find,$start)
$string : obligatoire. Spécifie la chaîne à rechercher.
$trouver : obligatoire. Spécifie les caractères à rechercher.
$start : Facultatif. Spécifie l'emplacement à partir duquel démarrer la recherche.
Valeur de retour :
Renvoie la position de la première occurrence d'une chaîne dans une autre chaîne, ou renvoie FALSE si la chaîne n'est pas trouvée. Remarque : La position de la chaîne commence à 0 et non à 1.
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!