Optimering via indbyggede funktioner i PHP

Lad os sige en programmør kontrollerer, om der findes tallet 5 i et array:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  
  $exists = false;
  foreach ($arr as $elem) {
    if ($elem == 5) {
      $exists = true;
      break; // vi forlader løkken for at undgå unødvendige iterationer
    }
  }
  
  var_dump($exists);
?>

Jeg påstår, at der er noget galt med denne kode. Hvad er der i vejen, vi forlader jo løkken efter vi har fundet tallet 3? Sagens kerne er, at indbyggede PHP-funktioner altid arbejder mange gange hurtigere end tilsvarende hjemmelavet kode.

I vores tilfælde findes der en funktion in_array, der løser den stillede opgave - og det er denne funktion, man bør bruge:

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

Moralen: Før du løser en opgave, skal du altid kontrollere, om der ikke findes en indbygget PHP-funktion til dens løsning.

Задание 1

I den følgende kode finder en programmør summen af elementerne i et array. Optimér denne programmørs løsning.

Her er koden:

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

I den følgende kode finder en programmør produktet af elementerne i et array. Optimér denne programmørs løsning:

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