Maison >développement back-end >Problème PHP >Quelle est la différence entre int et intval en php
La différence entre int et intval en php : 1. int fait référence au type entier Integer, et intval fait référence à la fonction utilisée pour obtenir la valeur entière d'une variable 2. La conversion forcée de int et la fonction intval dépassent la valeur entière ; valeur maximale affichée par différents types., intval Si le paramètre est une chaîne, renvoie la valeur entière représentée par la chaîne numérique avant le premier caractère de la chaîne qui n'est pas un nombre.
L'environnement d'exploitation de cet article : système Windows 10, PHP version 8.1, ordinateur Dell G3
La fonction intval() est utilisée pour obtenir l'entier ? valeur 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 en php fait référence au type entier Integer
intval() fonction
Syntaxe :
intval ( mixed $value , int $base = 10 ) : int
value est la valeur de la quantité à convertir en entier
base est la base utilisée pour la conversion (par défaut si non renseigné) est décimal)
Valeur de retour : variable de type int
PS : à moins que la valeur ne soit une chaîne, la base ne fonctionnera pas.
Exemple :
<?php echo intval(42)."<br>"; // 42 echo intval(4.2)."<br>"; // 4 echo intval('42')."<br>"; // 42 echo intval('+42')."<br>"; // 42 echo intval('-42')."<br>"; // -42 echo intval(042)."<br>"; // 34 echo intval('042')."<br>"; // 42 echo intval(1e10)."<br>"; // 1410065408 echo intval('1e10')."<br>"; // 1 echo intval(0x1A)."<br>"; // 26 echo intval(42000000)."<br>"; // 42000000 echo intval(420000000000000000000)."<br>"; // 0 echo intval('420000000000000000000')."<br>"; // 2147483647 echo intval(42, 8)."<br>"; // 42 echo intval('42', 8)."<br>"; // 34 echo intval(array())."<br>"; // 0 echo intval(array('foo', 'bar'))."<br>"; // 1 echo intval(false)."<br>"; // 0 echo intval(true)."<br>"; // 1 ?>
(int) conversion forcée
Démonstration :
<?php echo (int)42; // 42 echo "<br>"; echo (int)4.2; // 4 echo "<br>"; echo (int)'42'; // 42 echo "<br>"; echo (int)'+42'; // 42 echo "<br>"; echo (int)'-42'; // -42 echo "<br>"; echo (int)042; // 34 echo "<br>"; echo (int)'042'; // 42 echo "<br>"; echo (int)1e10; // 1410065408 echo "<br>"; echo (int)'1e10'; //2147483647 echo "<br>"; echo (int)0x1A; // 26 echo "<br>"; echo (int)42000000;// 42000000 echo "<br>"; echo (int)420000000000000000000; //-1609564160 echo "<br>"; echo (int)'420000000000000000000'; //2147483647 echo "<br>"; /*echo intval(42, 8)."<br>"; echo intval('42', 8)."<br>"; */ /*int的强制转换不是函数,所以无法实现*/ echo (int)array();// 0 echo "<br>"; echo (int)array('foo', 'bar');//1 echo "<br>"; echo (int)false; //0 echo "<br>"; echo (int)true; //1 echo "<br>"; ?>
Résumé :
int la conversion forcée et la fonction intval() face à boolean, int, float, array sont cohérentes (faire ne dépasse pas la valeur maximale affichée pour chaque type).
intval() Si le paramètre est une chaîne, renvoie la valeur entière représentée par la chaîne numérique avant le premier caractère de la chaîne qui n'est pas un nombre. Si le premier caractère de la chaîne est « - », le décompte commence à partir du deuxième caractère. Si le paramètre est un nombre en pointillés, sa valeur arrondie est renvoyée.
La valeur maximale du type int est 2147483647. Généralement, lors de la conversion de type, si elle dépasse cette valeur maximale, elle sera affichée comme valeur maximale, (int) affichera -1609564160.
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!