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 (AZ, az). 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 int w zakresie -128..255 było interpretowane jako kod ASCII. Od PHP 8.1 generuje E_DEPRECATED. Zawsze przekazuj ciąg znaków.

📘 Naucz się w lekcji →