Чтобы сравнивать строки без учета регистра в PHP, вы можете использовать несколько методов. Вот несколько часто используемых подходов:
- strcasecmp(): функция strcasecmp() сравнивает две строки, игнорируя регистр. Он возвращает 0, если строки равны, отрицательное значение, если первая строка меньше второй, и положительное значение, если первая строка больше второй. Пример использования:
$string1 = "Hello";
$string2 = "hello";
if (strcasecmp($string1, $string2) === 0) {
echo "The strings are equal.";
} else {
echo "The strings are not equal.";
}
- strtolower(): вы можете преобразовать обе строки в нижний регистр с помощью strtolower(), а затем сравнить их с помощью обычных операторов сравнения (например, == или ===). Пример использования:
$string1 = "Hello";
$string2 = "hello";
if (strtolower($string1) === strtolower($string2)) {
echo "The strings are equal.";
} else {
echo "The strings are not equal.";
}
- mb_strtolower(): если вы работаете с многобайтовыми строками (например, строками в кодировке UTF-8), вы можете использовать функцию mb_strtolower() вместо strtolower(), чтобы обеспечить правильную обработку многобайтовых символов. Пример использования:
$string1 = "Привет"; // Russian "Hello"
$string2 = "привет";
if (mb_strtolower($string1) === mb_strtolower($string2)) {
echo "The strings are equal.";
} else {
echo "The strings are not equal.";
}