ctype_upper

funkcja

Sprawdza, czy wszystkie znaki w ciągu to wielkie litery ASCII (A–Z). Pusta wartość i cyfry zwracają false.

ctype_upper(mixed $text): bool

ctype_upper zwraca true, gdy każdy znak podanego ciągu to wielka litera alfabetu ASCII (AZ). Cyfry, spacje, znaki specjalne i małe litery powodują zwrot false. Pusta wartość też zwraca false. Funkcja operuje wyłącznie na ASCII — nie rozpoznaje polskich wielkich liter jak Ą, Ę, Ś. Przydaje się do walidacji kodów produktów, skrótów krajów (ISO 3166) czy sygnatur w formacie wielkich liter.

<?php
declare(strict_types=1);

$kodKraju = 'PL';

if (!ctype_upper($kodKraju) || strlen($kodKraju) !== 2) {
    throw new \InvalidArgumentException('Kod kraju musi składać się z 2 wielkich liter ASCII.');
}

echo "Kraj: {$kodKraju}"; // Kraj: PL

Pułapka z liczbami całkowitymi. Przed PHP 8.1 przekazanie int w zakresie -128..255 było interpretowane jako kod ASCII — np. ctype_upper(65) sprawdzało znak 'A' (kod 65) i zwracało true. Od PHP 8.1 takie wywołanie generuje E_DEPRECATED. Zawsze przekazuj ciąg znaków, np. ctype_upper((string) $zmienna).

📘 Naucz się w lekcji →