Функсияҳои дохилии 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;
?>