Optimizavimas naudojant įmontuotas PHP funkcijas

Tarkime, programuotojas patikrina, ar masyve yra skaičius 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; // išeisime iš ciklo, kad nesisuktų per daug kartų
    }
  }
  
  var_dump($exists);
?>

Teigiu, kad su šiuo kodu kažas negerai. Kas gi ne taip, mes gi išeiname iš ciklo po to, kai radome skaičių 3? Esmė ta, kad įmontuotos PHP funkcijos visada veikia žymiai greičiau nei atitinkamas savadarbis kodas.

Mūsų atveju egzistuoja funkcija in_array, sprendžianti užduotą problemą, - ir naudoti reikia būtent šią funkciją:

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

Moralas: prieš sprendžiant uždavinį būtinai patikrinkite, ar nėra jai išspręsti įmontuotos PHP funkcijos.

Задание 1

Toliau pateiktame kode programuotojas suranda masyvo elementų sumą. Optimizuokite šio programuotojo sprendimą.

Kodas:

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

Toliau pateiktame kode programuotojas suranda masyvo elementų sandaugą. Optimizuokite šio programuotojo sprendimą:

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