Как найти длину строки в PHP? | OTUS

Курсы

Программирование
iOS Developer. Basic
-23%
Python Developer. Professional
-13%
Разработчик на Spring Framework
-23%
Golang Developer. Professional
-17%
Python Developer. Basic
-16%
iOS Developer. Professional
-13%
Node.js Developer
-15%
Unity Game Developer. Professional
-11%
React.js Developer
-12%
Android Developer. Professional
-7%
Software Architect
-12%
C++ Developer. Professional
-8%
Разработчик C#
-8%
Backend-разработчик на PHP Архитектура и шаблоны проектирования
-12%
Программист С Базы данных Framework Laravel PostgreSQL Reverse-Engineering. Professional CI/CD Agile Project Manager Нереляционные базы данных Супер - интенсив по паттернам проектирования Супер-практикум по использованию и настройке GIT IoT-разработчик Advanced Fullstack JavaScript developer Супер-интенсив "Azure для разработчиков"
Инфраструктура
Мониторинг и логирование: Zabbix, Prometheus, ELK
-17%
DevOps практики и инструменты
-18%
Архитектор сетей
-21%
Инфраструктурная платформа на основе Kubernetes
-22%
Супер-интенсив «IaC Ansible»
-16%
Супер-интенсив по управлению миграциями (DBVC)
-16%
Administrator Linux.Basic
-10%
Супер-интенсив «ELK»
-10%
Administrator Linux. Professional MS SQL Server Developer Безопасность Linux PostgreSQL Reverse-Engineering. Professional CI/CD VOIP инженер Супер-практикум по работе с протоколом BGP Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Супер-интенсив «СУБД в высоконагруженных системах»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Как найти длину строки в PHP?

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

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

$x = "Я учусь в OTUS";

Будем считать, что строка у нас есть, поэтому осталось определить её длину. Сделать это можно, используя всем известную функцию strlen. Единственным и обязательным параметром данной функции является строка, число символов в которой мы считаем:

strlen ($x);

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

$xlength = strlen($x);

Таким образом мы записали в переменную xlength длину строки $x. Когда же надо вывести длину строки на экран, воспользуйтесь хорошо известным echo:

echo $xlength;

Но это в том случае, если мы уже создали данную переменную, иначе можно записать код следующим образом:

echo strlen ($x);

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

Каковы нюансы в работе функции strlen?

Следует учитывать, что функция вычисляет количество байт в строке string, а не привычное нам число символов. И тут всё зависит от кодировки:

<?php
// В кодировке windows-1251
$str = 'Я учусь в OTUS';
echo strlen($str); // 14
// В кодировке utf-8
$str = 'Я учусь в OTUS';
echo strlen($str); // 25
?>

В нашем случае русские буквы в юникоде занимают 2 байта, в результате чего длина одной буквы становится равной двум: 11 букв * 2 + 3 пробела = 25. Это важная особенность.

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

Ещё существует функция iconv_strlen, позволяющая нам в качестве второго параметра указывать кодировку:

$x = iconv_strlen('строка нашего текста', 'UTF-8');

Как посчитать число слов в строке? Необходимость в этом тоже иногда возникает. В PHP для выполнения данной задачи есть функция str_word_count. Она имеет 2 основных параметра, которые обязательны. Первый — сама строка, число слов в которой нас интересует. Второй — формат, в котором будет выведено значение. Возможно использование и третьего параметра — charlist, в котором можно указывать список дополнительных символов, которые функция посчитает как слова. Но этот параметр необязателен, к тому же, обычно в таких излишествах нет надобности.

Что касается параметра format, то он способен принимать три значения: — 0 — просто возвращается количество найденных слов; — 1 — массив слов, входящих в строку; — 2 — массив со словами, причём индекс каждого слова — это его позиция в строке.

Пример:

$x = "строка нашего текста";
str_word_count($x, 0);

Используем strlen и конструкцию if else

В некоторых задачах на PHP нужно определить, превышает ли длина нашей строки какой-нибудь предел, например, десять. Такие задачки решаются через конструкцию if else:

<?php
  $string = "Длина вашей строки";
  $count = strlen($string);
  if ($count > 10) {
   echo "В вашей строке больше 10 символов.";
  }
  elseif ($count == 10) {
   echo "В вашей строке ровно 10 символов.";
  }
  else {
   echo "В вашей строке меньше 10 символов.";
  }
?>

Пожалуй, на этом всё, успешного вам обучения!

Источники: • «Как узнать длину строки в PHP»; • «Как вычислить в php длину строки?»; • «Как узнать длину строки (PHP)».

Интересуют продвинутые знания по PHP? Добро пожаловать на специализированный курс:

PHP_970x90-20219-10b307.jpg

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться