PHP: Обход строк
Циклы подходят не только для обработки чисел, но и при работе со строками. В первую очередь благодаря возможности получить конкретный символ по его индексу. Ниже пример кода, который распечатывает буквы каждого слова на отдельной строке:
<?php
function printNameBySymbol($name)
{
$i = 0;
// Такая проверка будет выполняться до конца строки
// включая последний символ. Его индекс `длина строки - 1`.
while ($i < strlen($name)) {
// Обращаемся к символу по индексу
print_r("$name[$i]\n");
$i = $i + 1;
}
}
$name = 'Arya';
printNameBySymbol($name);
// => 'A'
// => 'r'
// => 'y'
// => 'a'
Самое главное в этом коде, поставить правильное условие в while
. Это можно сделать сразу двумя способами: $i < strlen($name)
или $i <= strlen($name) - 1
. Оба способа приводят к одному результату.
Задание
Реализуйте функцию printReversedNameBySymbol()
, которая печатает переданное слово посимвольно, как в примере из теории, но делает это в обратном порядке.
<?php
$name = 'Arya';
printReversedNameBySymbol($name);
// => 'a'
// => 'y'
// => 'r'
// => 'A'
Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном сообществе
Упражнение доступно только авторизованным пользователям.
Пожалуйста, авторизуйтесь, это необходимо для отслеживания прогресса выполнения уроков. Если у вас ещё нет учётной записи, то сейчас самое время создать аккаунт.