Position actuelle: Accueil> Derniers articles> Exemple d'utilisation de la fonction is_long en php avec une fonction intval

Exemple d'utilisation de la fonction is_long en php avec une fonction intval

gitbox 2025-06-07

Dans la programmation PHP, la vérification des types et la conversion de type sont des opérations inévitables, en particulier lors du traitement des entrées utilisateur ou des données externes. Cet article introduira quelques conseils pratiques lors de l'utilisation de IS_Long () avec IntVal () en détail, et fournira des exemples de code pratiques pour aider les développeurs à vérifier les valeurs entières plus en toute sécurité et efficacement.

1. Qu'est-ce que c'est_long () ?

is_long () est une fonction de vérification de type en php, utilisé pour déterminer si une variable est un type long . Mais il convient de noter que sur la plupart des systèmes 64 bits est_long () équivaut à IS_INT () car PHP intègre uniformément les entiers dans le type int .

 $value = 123;

if (is_long($value)) {
    echo "C'est un long Entier。";
} else {
    echo "Non long taper。";
}

Le résultat de la sortie est:

 C'est un long Entier。

2. Le rôle d' intval ()

IntVal () est une fonction de conversion de type utilisée pour convertir les variables en entiers. Il est très utile lors de la gestion des chaînes, des nombres de points flottants ou des valeurs booléennes. Par exemple:

 $input = "42abc";
$intValue = intval($input);
echo $intValue;

Le résultat de la sortie est:

 42

Cette fonction tronque automatiquement les pièces non numériques, elle est donc particulièrement importante lors du traitement de l'entrée des utilisateurs.

3. Pourquoi utiliser is_long () avec intVal () ?

Lorsque vous devez vérifier qu'une valeur d'entrée utilisateur est un entier et vous assurer qu'il s'agit d'un véritable entier à l'intérieur du programme, l'utilisation des deux ensemble est une solution très fiable. Par exemple, cette combinaison est particulièrement importante lors du traitement des données du formulaire, des paramètres de demande d'API ou des paramètres de requête URL.

 $input = $_GET['id'] ?? '';

$intId = intval($input);

if (is_long($intId) && $intId > 0) {
    // Utiliser en toute sécurité $intId
    $url = "https://gitbox.net/item.php?id=" . $intId;
    echo "<a href=\"$url\">Vérifiez les détails</a>";
} else {
    echo "ID invalide。";
}

Dans le code ci-dessus, nous convertissons $ _get ['id'] en entier via intVal () , puis utilisons IS_LONG () pour garantir que son type est un entier. Dans le même temps, nous vérifions également que c'est supérieur à 0, ce qui améliore la sécurité des données.

4. Misonnés communs: N'utilisez pas IS_LONG () directement sur la chaîne d'origine

Une erreur courante consiste à utiliser IS_LONG () directement sur les chaînes, qui renvoie généralement fausse même si la chaîne est sous forme numérique.

Exemple d'erreur:

 $input = "123";

if (is_long($input)) {
    echo "Oui long taper。";
} else {
    echo "Non long taper。";
}

Le résultat de la sortie est:

 Non long taper。

Parce que $ l'entrée est un type de chaîne, pas un entier. La bonne façon consiste à utiliser IntVal () en premier:

 $intValue = intval($input);

if (is_long($intValue)) {
    echo "转换后Oui long taper。";
}

5. Conseils: Filter_var () de Php 8 + est une alternative plus moderne

Bien que la combinaison de IS_Long () et IntVal () soit très courante dans le code ancien, il est une pratique plus moderne et plus sûre de vérifier les valeurs entières à l'aide de filter_var () dans PHP 8 et plus tard.

 $input = $_GET['id'] ?? '';

if (filter_var($input, FILTER_VALIDATE_INT)) {
    $url = "https://gitbox.net/item.php?id=" . intval($input);
    echo "<a href=\"$url\">Vérifiez les détails</a>";
} else {
    echo "invalide的 ID。";
}

6. Résumé

L'utilisation de is_long () et intVal () peut considérablement améliorer la rigueur de la vérification des données entiers, mais également faire attention à ses limites, telles que le jugement de type direct de l'entrée d'origine des chaînes n'est pas valide. Pour les meilleures pratiques, envisagez d'utiliser filter_var () au lieu de l'approche traditionnelle. Lors du traitement des données impliquant des URL, l'intégration des paramètres comme ce qui suit est une méthode courante:

 $id = intval($_GET['id'] ?? 0);
$url = "https://gitbox.net/item.php?id=" . $id;
echo "<a href=\"$url\">Saut</a>";

La conversion et la vérification de type raisonnable améliorent non seulement la qualité du code, mais évite également efficacement les risques de sécurité potentiels.