Otimização através de funções internas no PHP

Suponha que um programador queira verificar se o número 5 está presente em um array:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  
  $exists = false;
  foreach ($arr as $elem) {
    if ($elem == 5) {
      $exists = true;
      break; // sairemos do loop para evitar iterações desnecessárias
    }
  }
  
  var_dump($exists);
?>

Eu afirmo que há algo errado com este código. O que há de errado, se saímos do loop depois de encontrar o número 5? O fato é que as funções internas do PHP sempre funcionam ordens de magnitude mais rápido que um código personalizado equivalente.

No nosso caso, existe a função in_array, que resolve o problema proposto - e devemos usar precisamente essa função:

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

Moral: antes de resolver um problema, sempre verifique se não existe uma função interna do PHP para resolvê-lo.

Задание 1

No código a seguir, um programador está encontrando a soma dos elementos de um array. Otimize a solução deste programador.

Aqui está o código:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  
  $sum = 0;
  foreach ($arr as $elem) {
    $sum += $elem;
  }
  echo $sum;
?>
Задание 2

No código a seguir, um programador está encontrando o produto dos elementos de um array. Otimize a solução deste programador:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  
  $res = 1;
  foreach ($arr as $elem) {
    $res *= $elem;
  }
  echo $res;
?>