Разбить строку на буквы в PHP

Это задача — классика алгоритмов. В каждом языке программирования есть свои особенности.

Для паскаля, к примеру, строка — это массив символов, потому можно сказать, что задача решена уже по определению. Для PHP один из вариантов решения задачи можно найти в документации — откройте описание функции preg_split().

Этот пример не работает для UTF-8 символов, но это легко исправить:

Изящное и быстродействующее решение, несмотря на использование функции, работающей с регулярным выражением.  Назовем его Алгоритм 1.

Я сравнивал быстродействие вот с такой конструкцией, использующей функции работы с много-байтовыми строками (пусть это будет Алгоритм 2):

Для коротких строк (у меня в тестах до 40-45 символов) алгоритм 2 выигрывает немного в быстродействии. Потом пальму первенства выхватывает алгоритм 1.

speed-compare

По оси OХ — длина строки (в символах), по оси OY — время вычисления (в секундах).

Мало букафф? Читайте есчо !

Проверка кодов ОГРН / ОГРНИП на PHP

Сентябрь 24, 2015 г.

Продолжая тему валидаторов, публикую код двух функций для проверки введенных пользователем кодов ОГРН или ОГРНИП. Проверка кода ОГРН. Код содержит 13 знаков, последний из них используется для проверки "контрольной суммы". [crayon-6af919f00f34b658597497/] ...

Читать

Вызов замыкания из другой анонимной функции.

Декабрь 14, 2020 г.

При необходимости использовать (в PHP коде) замыкание (closure) A в коде замыкания B, возникает проблема в области видимости. Т.к. внутри B о функции A ничего не известно. Пример ситуации: [crayon-6af919f00f537136600299/] Для того чтобы в ...

Читать

Обмен данных Angular с бек-энд на PHP

Ноябрь 11, 2016 г.

Стоит ли рассказывать, что Ангуляр при всей своей прелести лишь одна сторона медали - frontend, который как то должен взаимодействовать со второй половинкой ...

Читать

Можно ли вызвать статический метод trait в php, не подключая его к какому то классу?

Май 27, 2025 г.

Если коротко - нельзя. Вызвать какой метод трейта напрямую без подключения его к классу невозможно, т.к. трейты в PHP не являются самостоятельными сущностями, как классы или объекты. Трейт — это механизм "вклейки" кода в класс. Он не компилируется ...

Читать
 

Комментарии к «Разбить строку на буквы в PHP»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий:

Много комментариев в “Разбить строку на буквы в PHP”

  1. Валерий:

    Спасибо!
    Кратко и понятно.

  2. Ильдар:

    Пример для UTF-8 вызывает ошибку 500, не знаю как это объяснить, там нет пробелов при просмотре скрытых символов, если их добавить, то работает.