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
📘 Naucz się w lekcji →