intval

(PHP 4, PHP 5, PHP 7, PHP 8)

intval Retourne la valeur numérique entière équivalente d'une variable

Description

intval(mixed$value, int$base = 10): int

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.

Liste de paramètres

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ètre value :

  • 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).

Valeurs de retour

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.

Historique

VersionDescription
8.0.0 Le niveau d'erreur lors de la conversion à partir d'un objet a été modifié de E_NOTICE à E_WARNING.

Exemples

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

Notes

Note:

Le paramètre base n'a aucun effet à moins que le paramètre value soit une chaîne de caractères.

Voir aussi

To Top