Maison > développement back-end > Problème PHP > Comment déterminer s'il s'agit d'une chaîne entière en php

Comment déterminer s'il s'agit d'une chaîne entière en php

青灯夜游
Libérer: 2023-03-17 19:14:01
original
1954 Les gens l'ont consulté

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

Comment déterminer s'il s'agit d'une chaîne entière en php

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");
?>
Copier après la connexion

Comment déterminer sil sagit dune chaîne entière en php

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 ] )
Copier après la connexion

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");
?>
Copier après la connexion

Comment déterminer sil sagit dune chaîne entière en php

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 )
Copier après la connexion
  • $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)
Copier après la connexion
  • $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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal