intval
(PHP 4, PHP 5, PHP 7, PHP 8)
intval — Konvertiert einen Wert nach integer
Beschreibung
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_NOTICE
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 vonvalue
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 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.
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(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 Parametervalue
keine Zeichenkette ist.
Siehe auch
- boolval() - Get the boolean value of a variable
- floatval() - Konvertiert einen Wert nach float
- strval() - Ermittelt die String-Repräsentation einer Variable
- settype() - Legt den Typ einer Variablen fest
- is_numeric() - Prüft, ob eine Variable eine Zahl oder ein numerischer String ist
- Typen-Tricks
- BCMath - Mathematische Funktionen mit beliebiger Genauigkeit