Если вы используете эту функцию для строки Unicode, не сообщая PHP, что это Unicode, вы повредите свою строку. В частности, верхний регистр «A» с тильдой, обычно встречающийся в 2-байтовых символах UTF-8, преобразуется в строчный «a» с тильдой.
mb_strtolower()
очень МЕДЛЕННО, если у вас есть соединение с базой данных, вы можете использовать его для преобразования строк в нижний регистр. Возможны даже latin1/9 (iso-8859-1/15)
и другие кодировки.