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

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

autoload
autoloadoriginal
2021-04-02 12:27:462846parcourir

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
  • 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
?>

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>";                   
?>

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!

Déclaration:
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