PHP STRTOLOWER НЕ РАБОТАЕТ С КИРИЛЛИЦЕЙ
Функция strtolower() в PHP не всегда корректно работает с кириллицей. Это может происходить из-за особенности кодировок. Если кодировка вашего текста utf-8, то можно воспользоваться функцией mb_strtolower(), которая корректно обрабатывает работу с кириллицей.
$string = "Тестовая СТРОКА";
$string = mb_strtolower($string);
Но если у вас используется другая кодировка, например windows-1251, то нужно сначала преобразовать кодировку текста функцией mb_convert_encoding(), а затем применить mb_strtolower().
$string = "Тестовая СТРОКА";
$string = mb_convert_encoding($string, "windows-1251", "utf-8");
$string = mb_strtolower($string, "windows-1251");
Если же нужно преобразовать всю строку в нижний регистр, в том числе и символы не кириллического алфавита, то можно воспользоваться функцией strtolower().
$string = "Тестовая СТРОКА abc";
$string = mb_convert_encoding($string, "windows-1251", "utf-8");
$string = strtolower($string);
Но в этом случае символы кириллицы не будут корректно обработаны.
JSОN-формат в PHP - Базовый курс PHP-7
Павел Чернышев, «Очереди — откладываем на потом с PHP»
Почему критикуют язык PHP?
Конфигурационные параметры вашего application
PHP: НЕПРАВИЛЬНЫЙ ПУТЬ - Кирилл Несмеянов
PHP. ucwords - Строки - 35
Решение проблемы с кодировкой КИРИЛЛИЦЫ в VSCODE
PHP: Неправильный путь
Производительность PHP: планируем, профилируем, оптимизируем / Павел Мурзаков (Badoo)
Чат на PHP - 8 - Сессии и простейший механизм аутентификации