OUJOOD.COM
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 : |
Cours suivant : |