PHP-de goşma funksiýalar arkaly optimizasiýa

Bir programmist massiwde 5 sanynyň bardygyny barlap görýär:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  
  $exists = false;
  foreach ($arr as $elem) {
    if ($elem == 5) {
      $exists = true;
      break; // artykmaý çyzykdan çykmak üçin
    }
  }
  
  var_dump($exists);
?>

Men bu kod bilen bir zatň ýalňyşdygyny aýdýaryn. Emma näme ýalňyş, biz 3 sanyny tapanyňyzdan soň çyzykdan çykýarysmy? Asyl mesele şonda, PHP-deki goşma funksiýalar elmydama öz-özüňiz ýazan koda garanda tertip boýunça has çalt işleýär.

Bizim ýagdaýymyzda, in_array funksiýasy bar, goýlan meseläni çözýär, - we ulanmak ýöne şu funksiýa bilen bolmaly:

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

Görkezme: meseläni çözmezden ozal hökmany ýoklaň, ony çözmek üçin PHP-de goşma funksiýa barmy.

Задание 1

Aşakdaky kodda bir programmist massiw elementleriň jemini tapýar. Bu programmistiň çözgüdini optimizirleň.

Kod şu ýerde:

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

Aşakdaky kodda bir programmist massiw elementleriň haspylanyşmasyny tapýar. Bu programmistiň çözgüdini optimizirleň:

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