Otimização de operações cíclicas em PHP

Mesmo uma operação leve, repetida várias vezes em um loop, pode consumir muitos recursos.

Vamos ver um exemplo. Suponha que temos um determinado array:

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

Vamos encontrar a média dos elementos deste array. Para isso, precisamos encontrar a soma dos elementos e dividi-la pela quantidade. Suponha que um programador já resolveu esta tarefa da seguinte forma:

php<?php
  $sum = 0;
  
  foreach ($arr as $elem) {
    $sum += $elem / count($arr);
  }
  
  echo $sum;
?>

Vamos analisar os problemas dessa solução. Tecnicamente, o código funciona corretamente e fornece a resposta correta. A questão é que matematicamente é correto tanto dividir a soma total pela quantidade quanto dividir cada uma das parcelas pela quantidade.

No entanto, surge outro problema. O fato é que executaremos a divisão quantas vezes houver elementos em nosso array. E acontece que estamos fazendo um grande número de operações desnecessárias, pois a divisão poderia ser feita no final - uma vez, dividindo a soma total encontrada.

Vamos otimizar nosso código:

php<?php
  $sum = 0;
  
  foreach ($arr as $elem) {
    $sum += $elem;
  }
  
  echo $sum / count($arr);
?>
Задание 1

Otimize o código abaixo:

php<?php
  for ($i = 1; $i <= 31; $i++) {
    if ($i === date('d')) {
      echo "<b>$i</b><br>";
    }
    
    if ($i !== date('d')) {
      echo "$i<br>";
    }
  }
?>