(PHP 4, PHP 5, PHP 7, PHP 8)
intval — Retourne la valeur numérique entière équivalente d'une variable
Retourne la valeur entier de value
en utilisant
la base
fourni pour la conversion (par défaut en
base 10). intval() ne devrait pas être utilisée
sur des objets, dans ces cas, une erreur de niveau E_WARNING
sera émise et la fonction retournera 1.
value
La valeur scalaire à être convertie en entier
base
La base pour la conversion
Note:
Si
base
vaut 0, la base utilisée est déterminée par le format du paramètrevalue
:
- si la chaîne inclue un préfixe "0x" (ou "0X"), la base prise sera 16 (hex) ; sinon,
- si la chaîne commence par "0", la base prise sera 8 (octal); sinon,
- la base prise sera 10 (décimal).
Une valeur de type entier de value
en cas de
succès ou 0 en cas d'échec. Les tableaux vides retournent 0,
les tableaux non vides retournent 1.
La valeur maximale dépend du système. Les systèmes à 32 bits ont une valeur
entière signée maximale de -2147483648 à 2147483647. Alors, par exemple, sur
un système semblable, intval('1000000000000')
retournera
2147483647. La valeur entière signée maximale pour un système à 64 bits est
9223372036854775807.
Les chaînes de caractères retournent la plupart du temps 0, cela dépend des caractères à l'extrême gauche de la chaîne. La règle courante du transtypage d'entier s'applique.
Version | Description |
---|---|
8.0.0 |
Le niveau d'erreur lors de la conversion à partir d'un objet a été modifié de E_NOTICE
à E_WARNING .
|
Exemple #1 Exemples avec intval()
Les exemples suivants sont basés sur un système à 64 bits.
<?php
echo intval(42); // 42
echo intval(4.2); // 4
echo intval('42'); // 42
echo intval('+42'); // 42
echo intval('-42'); // -42
echo intval(042); // 34
echo intval('042'); // 42
echo intval(1e10); // 10000000000
echo intval('1e10'); // 10000000000
echo intval(0x1A); // 26
echo intval('0x1A'); // 0
echo intval('0x1A', 0); // 26
echo intval(42000000); // 42000000
echo intval(420000000000000000000); // -4275113695319687168
echo intval('420000000000000000000'); // 9223372036854775807
echo intval(42, 8); // 42
echo intval('42', 8); // 34
echo intval(array()); // 0
echo intval(array('foo', 'bar')); // 1
echo intval(false); // 0
echo intval(true); // 1
?>
Note:
Le paramètre
base
n'a aucun effet à moins que le paramètrevalue
soit une chaîne de caractères.