Optimalizace pomocí vestavěných funkcí v PHP

Nechť nějaký programátor kontroluje, zda v poli je číslo 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; // vypadneme z cyklu, aby se točit zbytečně
    }
  }
  
  var_dump($exists);
?>

Tvrdím, že s tímto kódem je něco v nepořádku. Co je špatně, vždyť vypadáváme z cyklu poté, co jsme našli číslo 3? Věc se má tak, že vestavěné funkce v PHP vždy pracují řádově rychleji než analogický vlastnoručně napsaný kód.

V našem případě existuje funkce in_array, která řeší zadaný úkol, - a používat je třeba právě tuto funkci:

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

Ponaučení: před řešením úkolu nezapomeňte zkontrolovat, zda pro jeho řešení neexistuje vestavěná funkce PHP.

Задание 1

V následujícím kódu nějaký programátor hledá součet prvků pole. Optimalizujte řešení tohoto programátora.

Zde je kód:

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

V následujícím kódu nějaký programátor hledá součin prvků pole. Optimalizujte řešení tohoto programátora:

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