PHP скрипты

MySQL

Apache

phpMyADmin

Навигация

Поиск по Сайту

Партнеры

Самоучитель. Книги.

9.5: Длина строки

Главная Страница » Самоучитель PHP 5 для чайников с примерами » Длина строки в PHP

На практике очень часто требуется узнать длину строки. Для этого в PHP имеется специальная функция strlen(), принимающая в качестве входных параметров строку и возвращающая ее длину виде целого числа (листинг 9.12).

Листинг 9.12. Определение длины строки.

‹html›
‹head›
‹title› Определение длины строки ‹/title›
‹/head›
‹body›
‹?php
// строка
$str = "Hello, World!";
// длина строки
$len = strlen($str);
// посимвольный вывод строки
for ($i=0;$i<=$len;$i++)
{
echo $str[$i];
echo "‹br›";
}
?›
‹/body›
‹/html›

Результат выполнения этой программы смотрите ниже.

Определение длины строки

Первое, что бросается в глаза, - это присутствие квадратных скобок, так как они использовались при работе с массивами. Здесь нет ничего странного, просто в PHP, как и во многих других языках программирования, строку можно воспринимать как массив символов, проиндексированный целыми числами, начиная с нуля.

Итак, вернемся к нашему примеру. Сначала мы инициализируем строку, затем с помощью функции strlen() получаем ее длину в виде целочисленного значения, которое запишем в переменную $len. Далее создаем простой цикл for на $len итераций. У многих начинающих программистов часто возникает соблазн не использовать дополнительную переменную для хранения длины строки. Действительно, функцию strlen() можно записать прямо в определении цикла for. Например: for ($i=0; $i<=strlen($str);$i++{...}. Тем не менее, категорически не рекомендуется так делать. Во-первых, этот код работает медленнее, чем с использованием дополнительной переменной, так как приходится постоянно вызывать функцию strlen(). Во-вторых, длина строки может меняться в теле цикла, соответственно, поменяется количество итераций, что, вероятно, повлияет на ход программы.

В теле цикла нашей программы мы выводим один символ и выполняем перевод строки. Еще раз хочется обратить ваше внимание, что нумерация символов происходит с нуля.

Поделиться с друзьями