Эта серия заданий посвящена одной из самых полезных и простых строковых функций в PHP — `str_repeat()`. Она позволяет многократно повторять указанную строку, что незаменимо для форматирования вывода, создания визуальных разделителей или генерации тестовых данных.
В этом тренажере мы пройдем путь от самых основ использования функции до разбора пограничных случаев и её практического применения в небольших скриптах. Вам предстоит заполнять пропуски в коде, исправлять ошибки, предсказывать результат выполнения и собирать работающие программы из готовых фрагментов. Эти упражнения помогут вам понять, как работает `str_repeat()` и как избегать частых ошибок, например, с порядком аргументов или использованием некорректных значений.
- Модуль 1: Основы синтаксиса PHP
- Модуль 2: Переменные и типы данных
- Модуль 3: Операторы
- Модуль 4: Условные конструкции
- Модуль 5: Циклы
- Модуль 6: Массивы
- Индексированные массивы.
- Ассоциативные массивы.
- Многомерные массивы.
- Добавление элементов в массив.
- Удаление элементов из массива.
- Функция count().
- Функция array_push() и array_pop().
- Функция array_shift() и array_unshift().
- Функция array_merge().
- Функция array_slice().
- Функция array_splice().
- Функция in_array().
- Функция array_search().
- Функция array_keys() и array_values().
- Функция array_unique().
- Функция array_reverse().
- Сортировка: sort(), rsort().
- Сортировка: asort(), arsort().
- Сортировка: ksort(), krsort().
- Функция array_map().
- Функция array_filter().
- Функция array_reduce().
- Функция array_walk().
- Функция array_column().
- Деструктуризация массивов.
- Модуль 7: Функции
- Объявление функций.
- Вызов функций.
- Параметры функций.
- Возврат значений return.
- Значения параметров по умолчанию.
- Передача по значению.
- Передача по ссылке.
- Переменное количество аргументов.
- Оператор распаковки ....
- Типизация параметров.
- Типизация возвращаемых значений.
- Nullable типы.
- Union типы (PHP 8).
- Именованные аргументы (PHP 8).
- Анонимные функции.
- Стрелочные функции.
- Замыкания и use.
- Рекурсивные функции.
- Глобальные переменные в функциях.
- Статические переменные в функциях.
- Модуль 8: Работа со строками
- Одинарные и двойные кавычки.
- Экранирование символов.
- Heredoc и Nowdoc синтаксис.
- Функция strlen().
- Функция substr().
- Функция str_replace().
- Функция strpos() и strrpos().
- Функция explode() и implode().
- Функция trim(), ltrim(), rtrim().
- Функция strtolower() и strtoupper().
- Функция ucfirst() и ucwords().
- Функция str_repeat().
- Модуль 9: Суперглобальные переменные
- Модуль 10: Работа с формами
- Модуль 11: Работа с файлами
- Модуль 12: Дата и время
- Модуль 13: Регулярные выражения
- Модуль 14: Сессии и Cookie
- Модуль 15: Include и Require
- Модуль 16: Объектно-ориентированное программирование
- Модуль 17: Пространства имен
- Модуль 18: Обработка ошибок и исключений
- Модуль 19: Работа с JSON и XML
- Модуль 20: Работа с базами данных MySQLi
- Модуль 21: PDO - PHP Data Objects
- Модуль 22: Composer и зависимости
- Модуль 23: cURL и HTTP запросы
- Модуль 24: REST API
- Модуль 25: Безопасность
- Модуль 26: Генераторы и итераторы
- Модуль 27: Reflection API
- Модуль 28: Работа с изображениями
- Модуль 29: Отправка email
- Модуль 30: Паттерны проектирования
- Модуль 31: Тестирование
- Модуль 32: Продвинутые возможности PHP 8+
Основы: повторение символа
Используйте функцию `str_repeat()`, чтобы создать и вывести на экран строку, состоящую из 10 символов «*». Заполните пропущенные аргументы функции в коде.
<?php
echo str_repeat(input1S, input2S);
?>Предсказание простого результата
Внимательно посмотрите на код. Какой именно текст он выведет на экран? Введите точный результат выполнения этого скрипта в поле для ответа.
<?php
echo str_repeat("->", 4);
?>Пограничный случай: ноль повторений
Иногда в программу могут приходить разные значения, включая ноль. Что произойдет, если попросить функцию `str_repeat()` повторить строку ноль раз? Выберите правильный вариант из предложенных.
<?php
$result = str_repeat("Важно!", 0);
var_dump($result);
?>Найдите ошибку: неверный порядок аргументов
В коде допущена одна из самых частых ошибок при работе с `str_repeat()`: аргументы перепутаны местами. Исправьте строку с вызовом функции так, чтобы она выводила 15 знаков "=".
<?php// Нужно вывести линию из 15 знаков "равно"echo str_repeat(15, "=");?>Сборка строки из банка токенов
Используя элементы из "банка", соберите код, который создает строку-разделитель из 40 дефисов и выводит ее на экран. Перетащите нужные токены в пустые ячейки.
<?php
input1S = str_repeat(input2S, input3S);
echo input4S;
?>Неявное приведение типов
PHP — язык со слабой типизацией, и он часто пытается "помочь", преобразуя типы данных на лету. Что, по-вашему, выведет этот код, где первым аргументом в `str_repeat` передано число, а не строка?
<?php
echo str_repeat(7, 3);
?>Создание рамки для заголовка
Соберите из разрозненных строк работающий скрипт. Он должен выводить на экран заголовок "REPORT", обрамленный с обеих сторон линиями из 12 символов #. Лишние строки использовать не нужно.
$title = " REPORT ";echo $line . $title . $line;<?php$char = '#';$line = str_repeat($char, 12);?>echo $title;$line = str_repeat($title, 2);Опасный случай: отрицательное число
В современных версиях PHP (8.0+) попытка повторить строку отрицательное количество раз вызывает ошибку. В коде допущена именно такая ситуация. Исправьте значение, чтобы код вывел строку "A" 5 раз.
<?php// Этот код вызовет ValueError в PHP 8+$count = -5;echo str_repeat("A", $count);?>