(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.
valueLa valeur scalaire à être convertie en entier
baseLa base pour la conversion
Note:
Si
basevaut 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 "0b" (ou "0B"), la base prise sera 2 (binaire); 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
basen'a aucun effet à moins que le paramètrevaluesoit une chaîne de caractères.