Optimalizálás beépített függvényekkel PHP-ban

Tegyük fel, hogy egy programozó ellenőrzi, hogy van-e a tömbben 5 szám:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  
  $exists = false;
  foreach ($arr as $elem) {
    if ($elem == 5) {
      $exists = true;
      break; // kilépünk a ciklusból, hogy ne fusson feleslegesen
    }
  }
  
  var_dump($exists);
?>

Azt állítom, hogy valami nem stimmel ezzel a kóddal. Mi a baj? Hiszen kilépünk a ciklusból, miután megtaláltuk a 3-ast? Az a helyzet, hogy a PHP beépített függvényei mindig rendkívül gyorsabban működnek, mint egy hasonló, saját készítésű kód.

Esetünkben létezik a in_array függvény, amely megoldja a feladatot, - és ezt a függvényt kell használni:

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

Tanulság: egy feladat megoldása előtt mindig ellenőrizd, hogy nincs-e beépített PHP függvény a megoldására.

Задание 1

A következő kódban egy programozó egy tömb elemeinek összegét találja meg. Optimalizáld ennek a programozónak a megoldását.

Itt a 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

A következő kódban egy programozó egy tömb elemeinek szorzatát találja meg. Optimalizáld ennek a programozónak a megoldását:

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