ТОП PHP скрипт сегодня: Fpoll

Вы Тут:

Главная ›› Книги ›› PHP 5.0 для чайников ›› Функция strlen()

Длина строки в языке 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>

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

Функция strlen()

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

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

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