is_numeric
funkcja
Sprawdza, czy wartość jest liczbą lub numerycznym stringiem (np. "42", "3.14", "1e5"). Stringi szesnastkowe jak "0x1A" zwracają false od PHP 7.
is_numeric(mixed $value): bool
is_numeric zwraca true dla wartości liczbowych oraz stringów reprezentujących liczby — całkowite ("42"), zmiennoprzecinkowe ("3.14") i w notacji naukowej ("1e5"). Od PHP 7 stringi szesnastkowe jak "0x1A" nie są uznawane za numeryczne i zwracają false. Funkcja jest przydatna do wstępnej walidacji danych z formularzy lub CSV, zanim dokonasz rzutowania — pamiętaj jednak, że " 42 " (z białymi znakami) jest uznawane za numeryczne.
<?php
declare(strict_types=1);
$wejscie = $_POST['kwota'] ?? '';
if (!is_numeric($wejscie)) {
echo 'Podaj prawidłową kwotę.';
} else {
$kwota = (float) $wejscie;
echo 'Kwota: ' . number_format($kwota, 2, ',', ' ') . ' zł';
}
// is_numeric('12.5') → true
// is_numeric('1e5') → true
// is_numeric('0x1A') → false (PHP 7+)
// is_numeric('abc') → false