Як дізнатися довжину рядка в PHP - strlen, mb_strlen
- Останнє оновлення: 3 Листопада 2023 р.
- Перегляди: 160
- Автор: Адмін
Колеги всім привіт.
У сьогоднішній статті ми поговоримо про те, як дізнатися довжину рядка в PHP.
Кожен раз коли ми працюємо з рядковими змінними або з іншими об'єктами в php які мають стосунки до рядка, то нам дуже часто потрібно дізнаватися довжину цього рядка для подальшого її назад. Завдання здається дуже простим, але є один дуже важливий нюанс, це кодування. Функції в PHP, які підраховують розмір рядка, можуть показувати різні значення, а значення довжини залежатиме від того, яке кодування ви використовуєте у себе на сайті.
У PHP є кілька вбудованих функцій, які визначають розмір рядка, і ми сьогодні їх розглянемо.
Першу функцію, яку ми розглянемо називатися strlen. Функція strlen працює дуже просто, вона приймає всього один єдиний і обов'язковий параметр, це рядок, і повертає довжину рядка.
php> strlen('Hellow World');
У результаті функція порахувала нам її довжину та повернула результат. Як я й говорив під час роботи з цією функцією, є один, але дуже важливий нюанс.
У наступному прикладі я напишу текст той самий, але тільки російською мовою.
php> strlen('Привіт світ');
У результаті ми отримуємо дивний результат. По ідеї ми повинні отримати число 10, а отримуємо 19. Виявляється, що функція strlen підраховує не звичну нам кількість символів у рядку, а підраховує кількість байтів у рядку, один символ в юнікод це 2 байти, а пробіл 1 байт.
Отже при роботі з цією функцією цей нюанс потрібно враховувати.
Наступну функцію у прикладі ми будемо використовувати під назвою mb_strlen. Функція mb_strlen приймає два параметри, перший обов'язковий параметр це звичайний рядок, а другий параметр не обов'язковий це кодування. Різниця між функціями strlen і mb_strlen в тому що підрахунок символів буде однаковим як англійською, так і російською мовою. Навіть якщо символ займає кілька байт, то буде порахований як один байт.
php> mb_strlen("Hellow World");
php> mb_strlen("Привіт світ");
Всім дякую, я сподіваюся, що вам моя стаття хоч чимось допомогла.