Функция strlen()

Тренажер по PHP для пользователей с начальным уровнем подготовки.

Тренажер PHP

В этом тренажере мы познакомимся с одной из базовых, но очень важных функций PHP — `strlen()`. Она позволяет узнать длину строки, что необходимо в множестве задач: от проверки длины пароля до форматирования текста. Кажется, что может быть проще? Но, как и у многих функций, у `strlen()` есть свои особенности.

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

Список тем

Самый первый замер

id: 39007_task_strlen_1

Давайте начнем с простого. Перед вами код, который использует функцию `strlen()` для определения длины строки "Hello". Напишите в поле ответа число, которое выведет этот код.

Что должно получиться?
<?php
echo strlen("Hello");
?>
Сообщения
Проверить
Показать подсказку

Длина пустой строки

id: 39007_task_strlen_2

А что, если строка не содержит ни одного символа? Выберите из предложенных вариантов тот, который, по вашему мнению, вернет функция `strlen()` для пустой строки.

Выберите правильный вариант ответа
<?php
echo strlen("");
?>
Сообщения
Проверить
Показать подсказку

Вспомним имя функции

id: 39007_task_strlen_3

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

Заполните пропуски
<?php
$phrase = "Hello World";
echo input1S($phrase);
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Исправь опечатку

id: 39007_task_strlen_4

Программисты часто допускают опечатки. В этом коде в названии функции допущена ошибка, из-за которой скрипт не выполнится. Найдите и исправьте строку с ошибкой.

Найдите ошибку и исправьте
<?php
$word = "Correct";
echo str_len($word);
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Считаются ли пробелы?

id: 39007_task_strlen_5

Мы уже знаем, как посчитать длину слова. А как насчет пробелов? Являются ли они частью строки и учитывает ли их `strlen()`? Определите, какой результат выведет код, и впишите его в ответ.

Что должно получиться?
<?php
$text = " php ";
echo strlen($text);
?>
Сообщения
Проверить
Показать подсказку

Сложности с кириллицей

id: 39007_task_strlen_6

Это задание с подвохом. Как вы думаете, какую длину вернет `strlen()` для русского слова "Мир"? Выберите правильный вариант. Результат может вас удивить.

Выберите правильный вариант ответа
<?php
// Кодировка файла UTF-8
echo strlen("Мир");
?>
Сообщения
Проверить
Показать подсказку

Сопоставьте строку и её длину

id: 39007_task_strlen_7

Давайте закрепим полученные знания. Сопоставьте каждую строку в левой колонке с её правильной длиной (результатом работы `strlen()`) из правой колонки. Перетащите элементы правой колонки так, чтобы они соответствовали строкам слева.

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
"PHP & JS"
"Тест"
""
"123"
8
0
3
10
Сообщения
Проверить
Показать подсказку

Сборка условия из банка

id: 39007_task_strlen_8

Часто `strlen()` используют в условиях. Соберите из "банка" фрагментов кода рабочую конструкцию `if`, которая проверяет, что длина пароля в переменной `$password` строго больше 8 символов.

Нужно правильно расставить в пропуски предложенные варианты
<?php
$password = "secret12345";
if (input1S(input2S) input3S 8) {
    echo "Пароль достаточно длинный.";
}
?>
strlen
$password
>
mb_strlen
<
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Соберите скрипт проверки имени

id: 39007_task_strlen_9

Соберите из разбросанных частей небольшой, но полноценный скрипт. Скрипт должен объявить переменную `$username`, получить её длину, а затем с помощью `if-else` вывести сообщение "Имя подходит", если длина больше или равна 5, или "Имя слишком короткое" в противном случае.

Перетяните в правильном порядке строки из одного блока в другой
} else {
$username = "User";
echo "Имя слишком короткое";
<?php
    echo "Имя подходит";
if (strlen($username) >= 5) {
?>
}
$name = "User";
if ($username >= 5) {
$len = count($username);
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку
НайтиКурс.Ру