intval

(PHP 4, PHP 5, PHP 7)

intvalKonvertiert einen Wert nach integer

Beschreibung

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

Liefert den integer-Wert von var unter Benutzung der angegebenen Basis. (Standardwert ist base=10). intval() sollte nicht auf Objekte angewandt werden, da dies eine Meldung vom Typ E_NOTICE erzeugt und den Wert 1 zurückgibt.

Parameter-Liste

var

Der skalare Wert (das kann ein Ausdruck oder eine einfache Variable sein, nicht jedoch ein Array oder Objekt.), der nach integer konvertiert werden soll.

base

Die Basis der Konvertierung

Hinweis:

Wenn base 0 ist, wird die verwendete Basis durch das Format von var bestimmt:

  • wenn die Zeichenkette ein "0x" (oder "0X") Präfix enthält, ist die Basis 16 (hexadezimal); andernfalls,
  • wenn die Zeichenkette mit "0" beginnt, ist die Basis 8 (oktal); andernfalls,
  • ist die Basis 10 (dezimal).

Rückgabewerte

Der integer-Wert von var bei Erfolg, sonst 0. Leere Arrays geben den Wert 0 zurück, nichtleere Arrays den Wert 1.

Der Maximalwert hängt vom System ab. 32-Bit-Systeme haben einen maximalen Wertebereich für signed integer von -2147483648 bis 2147483647. Also wird beispielsweise auf solch einem System intval('1000000000000') 2147483647 zurückgeben. Der maximale signed integer-Wert auf 64-Bit-Systemen ist 9223372036854775807.

Zeichenketten werden meistens 0 zurückgeben, auch wenn das erste Zeichen hier entscheidend ist. Es gelten die normalen Regeln zur Umwandlung nach integer.

Beispiele

Beispiel #1 intval()-Beispiele

Die folgenden Beispiele beziehen sich auf ein 32-Bit-System

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

Anmerkungen

Hinweis:

Der base-Parameter hat keinerlei Auswirkung, wenn der var-Parameter kein String ist.

Changelog

Version Beschreibung
5.1.0 Erzeugt eine Meldung vom Type E_NOTICE und gibt den Wert 1 zurück, wenn ein Objekt als Parameter var übergeben wird.

Siehe auch