intval
funkcja
Konwertuje wartość na liczbę całkowitą int, opcjonalnie z podaną podstawą systemu liczbowego.
intval(mixed $value, int $base = 10): int
intval zamienia $value na int. Dla stringów czyta cyfry od początku i zatrzymuje się na pierwszym znaku niebędącym cyfrą — "42px" daje 42, a "abc" daje 0. Parametr $base pozwala parsować liczby w innym systemie liczbowym (np. 16 dla szesnastkowego).
<?php
declare(strict_types=1);
echo intval('42px'); // wynik: 42
echo intval(' 7.9'); // wynik: 7 (bierze część całkowitą)
echo intval('abc'); // wynik: 0
echo intval('0x1A', 16); // wynik: 26
echo intval(true); // wynik: 1
echo intval(null); // wynik: 0
Uwaga: w trybie strict_types=1 rzutowanie (int) i intval zachowują się tak samo wobec stringów — żadne z nich nie rzuca wyjątku dla wartości mieszanych. Jeśli oczekujesz wyłącznie int, lepiej używaj deklaracji typów w sygnaturach funkcji i pozwól PHP na TypeError.