ctype_alpha
funkcja
Sprawdza, czy wszystkie znaki w ciągu to litery alfabetu (A–Z, a–z). Nie obsługuje liter spoza ASCII — polskie ą, ę, ó i inne zwracają false.
ctype_alpha(mixed $text): bool
ctype_alpha zwraca true, gdy wszystkie znaki ciągu to litery ASCII (A–Z, a–z). Pusty ciąg zwraca false. Funkcja jest przydatna do walidacji pól, które powinny zawierać wyłącznie litery bez cyfr, spacji czy znaków specjalnych — np. kod języka ('pl', 'en') lub skrót waluty ('PLN').
Ważne ograniczenie: polskie litery (ą, ę, ó, ś, ź, ż itd.) nie są zaliczane do liter ASCII i powodują zwrócenie false. Jeśli chcesz walidować polskie imiona lub nazwy, musisz użyć wyrażenia regularnego z flagą u: preg_match('/^\p{L}+$/u', $tekst).
<?php
declare(strict_types=1);
var_dump(ctype_alpha('php')); // bool(true)
var_dump(ctype_alpha('PHP')); // bool(true)
var_dump(ctype_alpha('php8')); // bool(false) — cyfra
var_dump(ctype_alpha('')); // bool(false) — pusty ciąg
var_dump(ctype_alpha('ąbc')); // bool(false) — polska litera ą
// Typowe użycie: walidacja kodu języka
$lang = $_GET['lang'] ?? '';
if (!ctype_alpha($lang) || strlen($lang) !== 2) {
$lang = 'pl'; // domyślny język
}
Pułapka z liczbami całkowitymi. Przed PHP 8.1 przekazanie
intw zakresie -128..255 było interpretowane jako kod ASCII. Od PHP 8.1 generujeE_DEPRECATED. Zawsze przekazuj ciąg znaków.