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

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

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

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

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

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

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

speed-compare

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

Написать комментарий

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

Как определить ip адрес посетителя сайта в PHP

Ноябрь 13, 2015 г.

PHP не имеет каких то специальных средств для определения ip адреса. Эту информацию ему поставляет веб-сервер в виде переменных окружения. Используя ...

Читать

Как использовать callback функции внутри класса

Июнь 5, 2017 г.

Пробовали ли вы использовать функции PHP, требующие указания кол-бек функции в качестве аргумента? Я часто пользуюсь preg_replace_callback(). Если функция вызывается внутри класса, то хотелось бы и callback разместить внутри этого же класса (объекта). ...

Читать

 

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

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



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

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

  1. Валерий:

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

  2. Ильдар:

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