Цикл foreach
Часть раздела Основы путешествия по PHP на Coddy. Урок 49 из 71.
При работе с массивами часто требуется пройти по каждому элементу по одному. Хотя можно использовать цикл for со счётчиком индекса, PHP предоставляет более простое решение: цикл foreach.
Цикл foreach в PHP предназначен для перебора массивов. Во многих языках есть похожий цикл, а в PHP он выполняет подсчёт за вас и предоставляет прямой доступ к каждому элементу.
<?php
$fruits = ["apple", "banana", "cherry"];
foreach ($fruits as $fruit) {
echo $fruit . "\n";
}
?>Это выводит:
apple
banana
cherryСинтаксис прост: foreach ($array as $item). На каждой итерации следующий элемент из массива присваивается переменной $item, и вы можете использовать её внутри тела цикла.
Сравните это с достижением того же результата с помощью цикла for:
<?php
$fruits = ["apple", "banana", "cherry"];
for ($i = 0; $i < count($fruits); $i++) {
echo $fruits[$i] . "\n";
}
?>Версия foreach короче и проще для чтения. Тебе не нужно управлять переменной индекса или беспокоиться о длине array: PHP делает всё это за тебя.
Задание
ЛегкоПрочитайте одну строку ввода, содержащую список чисел, разделённых запятыми (например, 10,25,5,30,15).
Используйте цикл foreach, чтобы перебрать массив и вычислить сумму всех чисел. Выведите общую сумму.
Пример 1:
Если ввод содержит 10,25,5,30,15, вывод должен быть таким:
85Пример 2:
Если ввод содержит 1,2,3,4,5, вывод должен быть таким:
15Пример 3:
Если ввод содержит 100,200,300, вывод должен быть таким:
600Попробуйте сами
<?php
// Читать ввод
$input = trim(fgets(STDIN));
$numbers = explode(',', $input);
// TODO: Напишите свой код ниже, чтобы вычислить сумму с помощью цикла foreach
$sum = 0;
// Вывести результат
echo $sum;
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы сравнения и логические операторы
Операторы сравненияРавенство и идентичностьЛогические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логика2Переменные и типы данных
ЧислаСтроки и кавычкиБулевы значенияСоглашения об именованииПовторение — инициализация переменныхПустые переменныеКонкатенация строкПолучение пользовательского вводаПриведение к другим типам5Условная логика
Оператор ifIf — ElseТернарный операторОператор нулевого слиянияОператор switchПовторение: принятие решений3Основные операторы
Арифметические операторыОператор остатка от деленияОператор возведения в степеньСоставное присваиваниеИнкремент/декрементПриоритет операторовПовторение — простые вычисленияОператоры строкПотренируйтесь самостоятельно: Онлайн-компилятор PHP