strcasecmp
funkcja
Porównuje dwa ciągi znaków bez uwzględnienia wielkości liter (ASCII). Zwraca 0 gdy są równe, wartość ujemną lub dodatnią gdy różne.
strcasecmp(string $string1, string $string2): int
strcasecmp działa jak strcmp, ale ignoruje wielkość liter w zakresie ASCII — czyli 'PHP', 'php' i 'Php' są dla niej równoważne. Zwraca:
0— ciągi są równe (bez względu na wielkość liter),- wartość ujemną lub dodatnią — ciągi się różnią.
Uwaga: funkcja nie obsługuje pełnego Unicode. Dla polskich znaków nie rozróżnia 'ą' od 'Ą' — jeśli chcesz porównania niezależnego od wielkości liter z pełną obsługą UTF-8, użyj mb_strtolower na obu ciągach, a następnie zwykłego strcmp.
<?php
declare(strict_types=1);
echo strcasecmp('PHP', 'php'); // wynik: 0
echo strcasecmp('Hello', 'HELLO'); // wynik: 0
echo strcasecmp('admin', 'Admin'); // wynik: 0
echo strcasecmp('alfa', 'beta'); // wynik: ujemna (a < b)
// Porównanie nazwy użytkownika niezależnie od wielkości liter
$podana = 'Jan.Kowalski';
$zapisana = 'jan.kowalski';
if (strcasecmp($podana, $zapisana) === 0) {
echo 'Nazwy użytkowników są zgodne.';
}