Функция str_repeat()

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

Тренажер PHP

Эта серия заданий посвящена одной из самых полезных и простых строковых функций в PHP — `str_repeat()`. Она позволяет многократно повторять указанную строку, что незаменимо для форматирования вывода, создания визуальных разделителей или генерации тестовых данных.

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

Список тем

Основы: повторение символа

id: 39015_task1

Используйте функцию `str_repeat()`, чтобы создать и вывести на экран строку, состоящую из 10 символов «*». Заполните пропущенные аргументы функции в коде.

Заполните пропуски
<?php

echo str_repeat(input1S, input2S);

?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Предсказание простого результата

id: 39015_task2

Внимательно посмотрите на код. Какой именно текст он выведет на экран? Введите точный результат выполнения этого скрипта в поле для ответа.

Что должно получиться?
<?php

echo str_repeat("->", 4);

?>
Сообщения
Проверить
Показать подсказку

Пограничный случай: ноль повторений

id: 39015_task3

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

Выберите правильный вариант ответа
<?php

$result = str_repeat("Важно!", 0);
var_dump($result);

?>
Сообщения
Проверить
Показать подсказку

Найдите ошибку: неверный порядок аргументов

id: 39015_task4

В коде допущена одна из самых частых ошибок при работе с `str_repeat()`: аргументы перепутаны местами. Исправьте строку с вызовом функции так, чтобы она выводила 15 знаков "=".

Найдите ошибку и исправьте
<?php
// Нужно вывести линию из 15 знаков "равно"
echo str_repeat(15, "=");
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Сборка строки из банка токенов

id: 39015_task5

Используя элементы из "банка", соберите код, который создает строку-разделитель из 40 дефисов и выводит ее на экран. Перетащите нужные токены в пустые ячейки.

Нужно правильно расставить в пропуски предложенные варианты
<?php

input1S = str_repeat(input2S, input3S);
echo input4S;

?>
'-'
40
$line
$line
"+"
"40"
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Неявное приведение типов

id: 39015_task6

PHP — язык со слабой типизацией, и он часто пытается "помочь", преобразуя типы данных на лету. Что, по-вашему, выведет этот код, где первым аргументом в `str_repeat` передано число, а не строка?

Что должно получиться?
<?php

echo str_repeat(7, 3);

?>
Сообщения
Проверить
Показать подсказку

Создание рамки для заголовка

id: 39015_task7

Соберите из разрозненных строк работающий скрипт. Он должен выводить на экран заголовок "REPORT", обрамленный с обеих сторон линиями из 12 символов #. Лишние строки использовать не нужно.

Перетяните в правильном порядке строки из одного блока в другой
$title = " REPORT ";
echo $line . $title . $line;
<?php
$char = '#';
$line = str_repeat($char, 12);
?>
echo $title;
$line = str_repeat($title, 2);
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Опасный случай: отрицательное число

id: 39015_task8

В современных версиях PHP (8.0+) попытка повторить строку отрицательное количество раз вызывает ошибку. В коде допущена именно такая ситуация. Исправьте значение, чтобы код вывел строку "A" 5 раз.

Найдите ошибку и исправьте
<?php
// Этот код вызовет ValueError в PHP 8+
$count = -5;
echo str_repeat("A", $count);
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку
НайтиКурс.Ру