Задать вопрос
@Ibishka

Какой лучше substr или mb_substr?

Человек в одном видео говорил что рекомендую всегда использовать mb_subster и с кодировкой utf-8. Сайт англоязычный правда ли всегда лучше использовать mb_subster?
  • Вопрос задан
  • 1335 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
megakor
@megakor
Go/PHP developer | ВКонтакте
Если вы допускаете, что переданная строка может содержать буквы НЕ латинского алфавита - использовать mb_substr, если вы уверены, что туда передается строка, где буквы будут только латинскими (например логин или пароль), то можно обойтись substr.

mb_substr не будет съедать буквы на кириллице, но тратит немного больше ресурсов (но не критично и незаметно).
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Это очень плохой вопрос.
Ты даже не спрашиваешь, в чем разница между этими двумя функциями, не говоря уже о том, чтобы понять самому что они делают, и сделать вывод самостоятельно на основе полученной информации.

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

Если же ты хочешь продолжать заниматься программированием, то придется учиться учиться. И делать выводы самостоятельно. И задавать "хорошие" вопросы, вида "я тут поразмыслил и решил что substr нужно применять в таких случаях, mb_substr - в таких" или "я тут подумал, что действительно лучше всегда применять mb_substr, потому что - (...приводишь свою аргументацию...). Я прав?"
Ответ написан
Комментировать
rpsv
@rpsv
делай либо хорошо, либо никак
В описании самой функции есть подробности для чего она (она не съедает символы): https://www.php.net/manual/ru/function.mb-substr.php

Наглядно это выглядит так:
консоль
5ebd2a93093af183364313.png
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы