Optymalizacja poprzez wbudowane funkcje w PHP

Załóżmy, że pewien programista sprawdza, czy w tablicy znajduje się liczba 5:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  
  $exists = false;
  foreach ($arr as $elem) {
    if ($elem == 5) {
      $exists = true;
      break; // wyjdziemy z pętli, aby nie kręciła się niepotrzebnie
    }
  }
  
  var_dump($exists);
?>

Twierdzę, że z tym kodem coś jest nie tak. Co jest nie w porządku, przecież wychodzimy z pętli po znalezieniu liczby 3? Chodzi o to, że funkcje wbudowane w PHP zawsze działają rzędu wielkości szybciej niż podobny kod napisany samodzielnie.

W naszym przypadku istnieje funkcja in_array, która rozwiązuje postawione zadanie - i korzystać należy właśnie z tej funkcji:

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

Morał: przed rozwiązaniem zadania koniecznie sprawdź, czy nie ma dla jego rozwiązania wbudowanej funkcji PHP.

Задание 1

W następnym kodzie pewien programista znajduje sumę elementów tablicy. Zoptymalizuj rozwiązanie tego programisty.

Oto kod:

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

W następnym kodzie pewien programista znajduje iloczyn elementów tablicy. Zoptymalizuj rozwiązanie tego programisty:

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