Это очень плохой вопрос.
Ты даже не спрашиваешь, в чем разница между этими двумя функциями, не говоря уже о том, чтобы понять самому что они делают, и сделать вывод самостоятельно на основе полученной информации.
Тебя интересует только бинарный ответ - да или нет.
Сразу должен тебя расстроить - на бинарных ответах (и в целом на ответах на вопрос "как", а не "почему") далеко не уедешь. Программирование - слишком сложная наука. Если тебя интересуют такие ответы, то лучше пойти подавальщиком в макдональдс. Там на все вопросы есть четкий ответ.
Если же ты хочешь продолжать заниматься программированием, то придется учиться учиться. И делать выводы самостоятельно. И задавать "хорошие" вопросы, вида "я тут поразмыслил и решил что substr нужно применять в таких случаях, mb_substr - в таких" или "я тут подумал, что действительно лучше всегда применять mb_substr, потому что - (...приводишь свою аргументацию...). Я прав?"