Maison > développement back-end > tutoriel php > Comment faire la distinction entre intval() et (int) en PHP

Comment faire la distinction entre intval() et (int) en PHP

autoload
Libérer: 2023-04-09 20:44:01
original
2879 Les gens l'ont consulté

Cet article compare principalement les fonctions et définitions de la intval() conversion de type et de la (int) conversion de type forcée avec quelques exemples pour distinguer les deux.

Fonction 1.intval()

Syntaxe :

intval ( mixed $value , int $base = 10 ) : int
Copier après la connexion
  • value est la valeur de quantité à convertir en integer

  • >base

    Valeur de retour :
  • variable de type
  • int

    PS : À moins que
  • ne soit une chaîne,
ne fonctionnera pas.

value base Exemple :

<?php
echo intval(42)."<br>";                      // 42
echo intval(4.2)."<br>";                     // 4
echo intval(&#39;42&#39;)."<br>";                    // 42
echo intval(&#39;+42&#39;)."<br>";                   // 42
echo intval(&#39;-42&#39;)."<br>";                   // -42
echo intval(042)."<br>";                     // 34
echo intval(&#39;042&#39;)."<br>";                   // 42
echo intval(1e10)."<br>";                    // 1410065408
echo intval(&#39;1e10&#39;)."<br>";                  // 1
echo intval(0x1A)."<br>";                    // 26
echo intval(42000000)."<br>";                // 42000000
echo intval(420000000000000000000)."<br>";   // 0
echo intval(&#39;420000000000000000000&#39;)."<br>"; // 2147483647
echo intval(42, 8)."<br>";                   // 42
echo intval(&#39;42&#39;, 8)."<br>";                 // 34
echo intval(array())."<br>";                 // 0
echo intval(array(&#39;foo&#39;, &#39;bar&#39;))."<br>";     // 1
echo intval(false)."<br>";                   // 0
echo intval(true)."<br>";                    // 1
?>
Copier après la connexion

2. (int) cast

Démonstration :

<?php
echo (int)42;     // 42
echo "<br>";
echo (int)4.2;    // 4
echo "<br>";                   
echo (int)&#39;42&#39;;   // 42
echo "<br>";                    
echo (int)&#39;+42&#39;;  // 42
echo "<br>";                  
echo (int)&#39;-42&#39;;  // -42
echo "<br>";                 
echo (int)042;    //  34
echo "<br>";                    
echo (int)&#39;042&#39;;  // 42
echo "<br>";                  
echo (int)1e10;   // 1410065408
echo "<br>";                    
echo (int)&#39;1e10&#39;; //2147483647
echo "<br>";                
echo (int)0x1A;   // 26
echo "<br>";                    
echo (int)42000000;// 42000000
echo "<br>";                
echo (int)420000000000000000000;  //-1609564160
echo "<br>"; 
echo (int)&#39;420000000000000000000&#39;; //2147483647
echo "<br>";

/*echo intval(42, 8)."<br>";                   
echo intval(&#39;42&#39;, 8)."<br>";              */
/*int的强制转换不是函数,所以无法实现*/  
                
echo (int)array();// 0
echo "<br>";                 
echo (int)array(&#39;foo&#39;, &#39;bar&#39;);//1
echo "<br>";     
echo (int)false;   //0
echo "<br>";              
echo (int)true;    //1
echo "<br>";                   
?>
Copier après la connexion

3. Résumé :

La coercition de
    est confrontée à la fonction
  1. , int, intval(), boolean sont cohérents (ne dépassant pas la valeur maximale affichée pour chaque type). intfloatarray

  2. 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.
  3. intval()

  4. La valeur maximale du type est
  5. Généralement, lors de la conversion de type, si elle dépasse cette valeur maximale, elle sera affichée comme valeur maximale, et <.> affichera

    .  int2147483647(int)

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