Как узнать длину строки в PHP - strlen, mb_strlen

Как узнать длину строки в PHP - strlen, mb_strlen

Коллеги всем привет.

В сегодняшней статье мы поговорим о том как узнать длину строки в PHP.

Каждый раз когда мы работаем со строковыми переменными или с другими объектами в php которые имеют отношения до строки, то нам очень часто нужно узнавать длину этой самой строки для дальнейшей её обратно. Задача кажется очень простой, но есть один очень важный нюанс, это кодировка. Функции в PHP которые подсчитывают размер строки, могут показывать разные значения, а значения длины будет зависеть от того какаю кодировку вы используете у себя на сайте.

В PHP есть несколько встроенных функций, которые определяю размер строки, и мы сегодня их рассмотрим.

 

Первую функцию которую мы рассмотрим называться strlen. Функция strlen работает очень просто, она принимает всего один единственным и обязательным параметр, это строка, и возвращает длину строки.

php> strlen('Hellow World');

string length

В результате функция посчитала нам её длину и вернула результат. Как я и говорил при работе с этой функцией есть один, но очень важный нюанс.

В следующей примере я напишу текст тот же самый, но только на русском языке.

php> strlen('Привет мир');

string length

В результате мы получаем странный результат. По идеи мы должны получить число 10, а получаем 19. Оказывается что функция strlen подсчитывает не привычное нам количество символов в строке, а подсчитывает количество байтов в строке, один символ в юникод это 2 байта, а пробел 1 байт.

Так что при работе с этой функцией этот нюанс нужно учитывать.


 

Следующую функцию в примере мы будем использовать под названием mb_strlen. Функция mb_strlen принимает два параметра, первый обязательный параметр это обычная строка, а второй параметр не обязательный это кодировка. Разница между функциями strlen и mb_strlen в том что подсчет символов будет одинаковым как на английском, так и на русском языке. Даже если символ занимает несколько байт, то будет посчитан, как один байт.

php> mb_strlen("Hellow World");

php> mb_strlen("Привет мир");

string length


 

Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.

ПОХОЖИЕ СТАТЬИ

JQuery - Галерея изображений с увеличением при наведении
JQuery - Галерея изображений с увеличением при наведении
WEB
Читать далее
Zoom blowup.js - Плагин увеличения изображения с увеличительным стеклом
Zoom blowup.js - Плагин увеличения изображения с увеличительным стеклом
WEB
Читать далее
jQuery Zoom - Стеклянный эффект лупы изображения
jQuery Zoom - Стеклянный эффект лупы изображения
WEB
Читать далее