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

不言
Libérer: 2023-03-30 06:16:01
original
3050 Les gens l'ont consulté

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 
?>
Copier après la connexion

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();
Copier après la connexion

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;
Copier après la connexion

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;?>
Copier après la connexion

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"; 
?>
Copier après la connexion

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
Copier après la connexion

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!

É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