Советы по написанию кода циклов в PHP

По мере изучения языка сложность ваших программ растет. Пришло время поговорить о том, как правильно писать код так, чтобы он делал то, что вы задумывали. Я дам вам хорошую методику.

Пусть перед вами стоит задача достаточной сложности, для реализации которой нужно написать некоторое количество строк кода.

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

Правильным подходом является разбиение задачи на маленькие элементарные шаги, которые вы будете реализовывать и сразу проверять их правильность. В этом случае, даже если вы где-то ошибетесь, вы сразу заметите проблему и исправите ее.

Давайте попробуем на практике. Пусть для примера у вас дан массив с числами:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
?>

Пусть перед вами стоит задача взять из этого массива те элементы, которые делятся на 3 и найти их сумму.

Первым маленьким шагом я бы предложил просто перебрать элементы массива циклом и вывести их на экран. Сделаем это и убедимся, что все работает:

php<?php
  foreach ($arr as $elem) {
    echo $elem;
  }
?>

Давайте теперь отделим те элементы, которые делятся на 3. Выведем их и убедимся, что мы получаем правильные элементы:

php<?php
  foreach ($arr as $elem) {
    if ($elem % 3 === 0) {
      echo $elem; // выведет 3, 6, 9
    }
  }
?>

Теперь следующим шагом мы можем найти сумму искомых элементов:

php<?php
  $sum = 0;
  
  foreach ($arr as $elem) {
    if ($elem % 3 === 0) {
      $sum += $elem;
    }
  }
  
  var_dump($sum);
?>
Задание 1

Дан массив:

php<?php
  $arr = [10, 20, 30, 40, 21, 32, 51];
?>

Возьмите из этого массива те элементы, у которых первая цифра 1 или 2, и найдите их сумму.