Оптимизација кроз уграђене функције у PHP

Рецимо да неки програмер проверава да ли у низу постоји број 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; // изаћи ћемо из петље да се не би окретала више пута
    }
  }
  
  var_dump($exists);
?>

Тврдим да са овим кодом нешто није у реду. Шта није у реду, кад изалазимо из петље након што смо пронашли број 3? Ствар је у томе, што уграђене функције у PHP увек раде за ред величине брже од сличног кода написаног ручно.

У нашем случају постоји функција in_array, која решава постављени задатак - и треба користити управо ову функцију:

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

Поука: пре решавања задатака обавезно проверите да ли за његово решење постоји уграђена функција у PHP.

Задание 1

У следећем коду неки програмер налази збир елемената низа. Оптимизујте решење тог програмера.

Ево кода:

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

У следећем коду неки програмер налази производ елемената низа. Оптимизујте решење тог програмера:

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