logo oujood
🔍

La Fonction is_int() en PHP : Vérifier le Type Entier

Apprenez à utiliser is_int() pour valider les types de données entières en PHP

OUJOOD.COM

PHP cours tutorial

Qu'est-ce que la fonction is_int() ?

is_int() est une fonction PHP native qui permet de déterminer avec précision si une variable contient un nombre entier (integer). Cette fonction est essentielle pour la validation des types de données dans vos applications PHP.

Disponibilité : PHP 4, PHP 5, PHP 7, PHP 8+

Syntaxe de is_int()

is_int($var) : bool

Paramètres :

  • $var (mixed) : La variable à tester

Valeur de retour :

  • Retourne TRUE si la variable est de type entier (integer)
  • Retourne FALSE dans tous les autres cas

Exemple de base

Exemple :     📋 Copier le code

<?php
// Test avec différents types de valeurs
$nombre_entier = 42;
$chaine_numerique = "42";
$nombre_decimal = 42.0;
$booleen = true;

var_dump(is_int($nombre_entier));      // bool(true)
var_dump(is_int($chaine_numerique));   // bool(false)
var_dump(is_int($nombre_decimal));     // bool(false)
var_dump(is_int($booleen));            // bool(false)
?>

Résultat :

bool(true)
bool(false)
bool(false)
bool(false)

Cas d'usage pratiques

1. Validation de données utilisateur

Exemple :     📋 Copier le code

<?php
function validerAge($age) {
    if (is_int($age) && $age >= 0 && $age <= 150) {
        return "Âge valide : $age ans";
    }
    return "Erreur : L'âge doit être un nombre entier valide";
}

echo validerAge(25);      // Âge valide : 25 ans
echo validerAge("25");    // Erreur (chaîne)
echo validerAge(25.5);    // Erreur (décimal)
?>

2. Traitement conditionnel selon le type

Exemple :     📋 Copier le code

<?php
function traiterValeur($valeur) {
    if (is_int($valeur)) {
        echo "Traitement d'un entier : " . ($valeur * 2) . "\n";
    } else {
        echo "Type non supporté, conversion nécessaire\n";
    }
}

traiterValeur(10);      // Traitement d'un entier : 20
traiterValeur("10");    // Type non supporté, conversion nécessaire
?>

Différence importante : is_int() vs is_numeric()

Attention : is_int() vérifie strictement le type de la variable, pas sa valeur. Pour les données issues de formulaires HTML (qui sont toujours des chaînes), utilisez is_numeric() à la place.

Exemple :     📋 Copier le code

<?php
// Données de formulaire ($_POST, $_GET)
$input_formulaire = "123";  // Toujours une chaîne

echo is_int($input_formulaire);      // false (c'est une chaîne)
echo is_numeric($input_formulaire);  // true (contenu numérique)

// Pour valider un entier d'un formulaire :
if (is_numeric($input_formulaire) && intval($input_formulaire) == $input_formulaire) {
    echo "Valeur entière valide du formulaire";
}
?>

Alias de la fonction

La fonction is_integer() est un alias de is_int() et fonctionne exactement de la même manière. Vous pouvez utiliser l'une ou l'autre selon vos préférences de style de code.

Points clés à retenir

  • is_int() teste le type, pas la valeur numérique
  • Les chaînes numériques comme "123" retournent FALSE
  • Les nombres décimaux (float) retournent FALSE, même 42.0
  • Pour les entrées utilisateur, privilégiez is_numeric() ou filter_var()
  • Utilisez is_int() pour la validation stricte de types dans votre code

Fonctions PHP connexes

  • is_float() - Vérifie si une variable est un nombre décimal
  • is_numeric() - Vérifie si une variable contient une valeur numérique
  • is_null() - Vérifie si une variable est NULL

Cours précédent :
  La fonction is_float()

     Fonctions de manipulation des variables en PHP

 Cours suivant :
La fonction is_null()   

Par carabde 20 Aout 2014 | Mis à jour le 07/07/2026