Приветствую всех и это очередная статья по основам php. И ее тема: как вычисляется в php длина строки? Именно конкретной строки. Сегодня я вам покажу это на примере.
Вычисляем длину строки
Итак, сначала нужный текст нужно заключить в переменную, чтобы было более удобно в будущем обращаться к этой текстовой информации. Например:
$x = "Этот случайный кусок текста";
Отлично, строка у нас есть. Теперь нам нужно определить ее длину. Это делается при помощи функции strlen
, ее единственным и обязательным параметром является строка, количество символов в которой должно быть посчитано:
strlen ($x);
По умолчанию функция возвращает значение. То есть позднее вы его можете использовать в своих функциях и скриптах. Более удобно делать это даже так:
$xlength = strlen($x);
В переменную xlength
записали длину строки $x
.
Если же вам нужно вывести на экран длину строки, используйте уже известное вам слово echo
.
echo $xlength;
Это учитывая, что мы уже создали такую переменную, если бы ее не было, можно было бы записать так:
echo strlen ($x);
Как видите, все предельно просто.
Использование длины строки в реальной практике
Ладно, с этим все понятно. Но наверняка вам интересно, где в реальной практике может применяться эта функция. Да на самом деле очень много вариантов. Например, с помощью этой функции можно проверять форму.
Самый простой пример использования, который я наблюдал — это когда вставляешь текст в поле для ввода и сайт показывает тебе количество символов.
Нюансы работы функции strlen
Дело в том, что функция вычисляет количество байт в строке, а не количество символов в ней. То есть длина считается с учетом пробелов. Это важная особенность этой функции.
Также, если в измеряемой строке нет ни одного символа, функция вернет значение 0. Стоит отметить, что ее не нужно использовать при попытке вычислить длину массива, потому что будет возвращен NULL
. Применяйте strlen
только для того, чтобы узнать длину строки.
Как узнать в php длину строки с учетом кодировки?
Функция iconv_strlen
позволяет вторым параметром указать кодировку, если этого параметра не будет, он будет соответствовать своему значению по умолчанию. Пример:
$x = iconv_strlen('строка текста', 'UTF-8');
В таком случае длина строки не всегда может быть посчитана так, как мы этого ждем, потому что в разных кодировках символ может приравниваться к разному количеству байт.
Посчитать количество слов в строке
Такая возможность тоже есть в php. Это выполняется с помощью функции str_word_count
. У нее есть два основных параметра, они же и являются обязательными. Во-первых, это сама строка, количество слов в которой нужно посчитать. Во-вторых, это формат, в котором выведется значение. Есть еще третий необязательный параметр charlist
— в нем можно указать список дополнительных символов, которые будут считаться как слова. Зачастую в нем нет нужды.
По сути, тут новым для нас является только параметр format
, он может принимать 3 значения:
- 0 — возвращает просто количество найденных слов;
- 1 — массив слов, которые входят в строку;
- 2 — массив со словами, индексом каждого слова является его позиция в строке.
Пример использования функции:
$x = "строка текста"; str_word_count($x, 0);
В общем, пользуйтесь любой из этих трех функций, в зависимости от того, что именно вам нужно. У меня на этом все.