intval

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

intvalKonvertiert einen Wert nach integer

Beschreibung

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

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

Parameter-Liste

value

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 value bestimmt:

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

Rückgabewerte

Der integer-Wert von value 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.

Changelog

VersionBeschreibung
8.0.0 Die Fehlerstufe bei der Konvertierung eines Objekts wurde von E_NOTICE auf E_WARNING geändert.

Beispiele

Beispiel #1 intval()-Beispiele

Die folgenden Beispiele beziehen sich auf ein 64-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); // 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
?>

Anmerkungen

Hinweis:

Der Parameter base hat keinerlei Auswirkung, wenn der Parameter value keine Zeichenkette ist.

Siehe auch

To Top