intval

(PHP 4, PHP 5, PHP 7)

intvalObține valoarea întreagă a unei variabile

Descrierea

intval ( mixed $var [, int $base = 10 ] ) : int

Întoarce valoarea de tip integer a parametrului var, utilizând baza base specificată pentru a efectua conversia (baza implicită este 10). intval() nu trebuie utilizat asupra obiectelor, deoarece aceasta va provoca o eroare de nivel E_NOTICE și va întoarce 1.

Parametri

var

Valoarea scalară ce va fi convertită într-un integer

base

Baza pentru efectuarea conversiei

Notă:

Dacă base este 0, atunci baza utilizată este determinată cu ajutorul formatului var:

  • dacă șirul conține prefixul "0x" (sau "0X"), baza este considerată 16 (hexazecimală); în caz contrar,
  • dacă șirul începe cu "0", baza este considerată 8 (octală); în caz contrar,
  • baza este considerată 10 (zecimală).

Valorile întoarse

Valoarea întreagă a var în cazul succesului sau 0 în caz de eșec. Tablourile vide întorc 0, tablourile nevide întorc 1.

Valoarea maximală depinde de sistem. Sistemele pe 32 biți au diapazonul maxim al numerelor întregi cu semn de la -2147483648 până la 2147483647. Deci, de exemplu, pe un așa sistem intval('1000000000000') va întoarce 2147483647. Valoarea maximă pentru numerele întregi cu semn pe sistemele pe 64 biți este 9223372036854775807.

String-urile cel mai probabil vor întoarce 0, cu toate că aceasta depinde de caracterul cel mai din stânga din string. Regulile obișnuite pentru transformările integer se aplică în acest caz.

Exemple

Example #1 Exemple intval()

Următoarele exemple se bazează pe un sistem de 32 de biți.

<?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);                    // 1410065408
echo intval('1e10');                  // 1
echo intval(0x1A);                    // 26
echo intval(42000000);                // 42000000
echo intval(420000000000000000000);   // 0
echo intval('420000000000000000000'); // 2147483647
echo intval(428);                   // 42
echo intval('42'8);                 // 34
echo intval(array());                 // 0
echo intval(array('foo''bar'));     // 1
?>

Note

Notă:

Parametrul base are efect numai dacă parametrul var este un string.

Istoricul schimbărilor

Versiune Descriere
5.1.0 Emite E_NOTICE și întoarce 1, când un obiect este transmis către var.

A se vedea și