Maison  >  Article  >  développement back-end  >  L'utilisation et la différence entre la conversion intval() et (int) sous PHP

L'utilisation et la différence entre la conversion intval() et (int) sous PHP

不言
不言original
2018-06-06 11:19:012994parcourir

Cet article présente principalement l'utilisation et la différence entre la conversion intval() et (int) sous PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Vous voulez. savoir Quelle est la différence entre l'utilisation de la conversion intval() et (int) ? Ou quelles sont les différences entre les deux, y compris les fonctions et les définitions. Ou lié à la fréquence d'utilisation, à l'efficacité, etc.

Copier le code Le code est le suivant :

<?php 
echo "<br/>数值强制转换:"; 
$string="2a"; 
$string1=intval($string); 
echo &#39;$string1的值:&#39;.$string1.&#39;$string2的值:&#39;;//单引号不会输出变量,将原样输出 
$string2=(int)($string); 
echo $string2 
?>

Introuvable dans le manuel.
C'est aussi ce que dit le manuel : Citation :
int intval (mixed $var [, int $base ])
Renvoie la valeur entière de la variable var en utilisant une conversion de base spécifique (la valeur par défaut est décimale) . S'il n'y a que cette différence, alors j'aime utiliser (int) pour gérer les situations décimales. Est-ce un bon choix ?
Il n'y a pas de différence, généralement (int) est utilisé, et il y a aussi float, string, array, etc.
intval(), si le paramètre est une chaîne, le premier dans la chaîne est renvoyée La valeur entière représentée par la chaîne de chiffres précédant un caractère qui n'est pas un chiffre. 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é, sa valeur arrondie est renvoyée.
Bien entendu, la valeur renvoyée par intval() se situe dans la plage qui peut être représentée par une valeur de 4 octets (-2147483648~2147483647). Les valeurs dépassant cette plage seront remplacées par des valeurs limites.
Exemple :

intval("A")=0; intval(12.3223)=12; intval("1123Asdfka3243")=1123; 
int();

Exemple :

$a=0.13; 
$b=(int)$a; //$b=0; 
$a=0.99; 
$b=(int)$a; //$b=0; 
$a=1.01; 
$b=(int)$a; //$b=1; 
$a=1.99; 
$b=(int)$a; //$b=1;

Chaîne PHP en int
Parfois, il est important d'avoir une valeur de la variable au format int. Par exemple, si votre visiteur remplit le formulaire avec le champ âge, cela devrait être un entier. Cependant, dans le tableau $_POST, vous l'obtenez sous forme de chaîne.
Convertir une chaîne PHP en int est simple. Nous devons utiliser votre type de variable avant le casting. Vous devez donc utiliser (INT). Voici un exemple de comment procéder :

Copiez le code Le code est le suivant :

<?php $str = "10"; $num = (int)$str;?>

Si vous souhaitez vérifier que le code Fonctionne VRAIMENT, nous pouvons utiliser l'opérateur ===. Cet opérateur vérifie non seulement la valeur, mais également le type. Un tel code devrait ressembler à ceci :

Copier le code Le code est le suivant :

<?php 
$str = "10"; 
$num = (int)$str; 
if ($str === 10) echo "String"; 
if ($num === 10) echo "Integer"; 
?>

Il y a également un problème ouvert. Que se passe-t-il si notre chaîne n'est pas simplement une chaîne de nombres. Je veux dire qu'il y a d'autres caractères dans la chaîne. Dans ce cas, l'opération de conversion fait de son mieux et peut convertir la chaîne s'il n'y a que de l'espace et s'il n'y a aucun caractère valide après la valeur numérique. Son principe de fonctionnement est le suivant :

“10” - > 10 
“10.5” - > 10 
“10,5” - > 10 
“10” - > 10 
“10” - > 10 
“10test” - > 10 
“test10” - > 0

Recommandations associées :

Analyse comparative des performances de file_get_contents et curl en 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