Maison >développement back-end >Problème PHP >Quelle est la différence entre int et intval en php

Quelle est la différence entre int et intval en php

WBOY
WBOYoriginal
2022-07-27 16:30:573175parcourir

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.

Quelle est la différence entre int et intval en php

L'environnement d'exploitation de cet article : système Windows 10, PHP version 8.1, ordinateur Dell G3

Quelle est la différence entre int et intval en php

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(&#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
?>

(int) conversion forcée

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

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!

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