(PHP 4, PHP 5, PHP 7, PHP 8)
intval — Konvertiert einen Wert nach integer
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.
valueDer skalare Wert (das kann ein Ausdruck oder eine einfache Variable sein, nicht jedoch ein Array oder Objekt.), der nach integer konvertiert werden soll.
baseDie Basis der Konvertierung
Hinweis:
Wenn
base0 ist, wird die verwendete Basis durch das Format vonvaluebestimmt:
- 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).
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.
| Version | Beschreibung |
|---|---|
| 8.0.0 |
Die Fehlerstufe bei der Konvertierung eines Objekts wurde von
E_NOTICE auf E_WARNING
geändert.
|
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
?>Hinweis:
Der Parameter
basehat keinerlei Auswirkung, wenn der Parametervaluekeine Zeichenkette ist.