Optimizacija kroz ugradjene funkcije u PHP-u
Neka programer proverava da li se u nizu
nalazi broj 5:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$exists = false;
foreach ($arr as $elem) {
if ($elem == 5) {
$exists = true;
break; // izaći ćemo iz petlje da se ne bi više okretala
}
}
var_dump($exists);
?>
Tvrdim da nešto nije u redu sa ovim kodom. Šta nije u redu, zar ne izlazimo iz petlje nakon što smo pronašli broj 3? Stvar je u tome, da ugradjene PHP funkcije uvek rade za red veličine brže od sličnog prilagođenog koda.
U našem slučaju postoji funkcija in_array,
koja rešava postavljeni zadatak, - i koristiti
treba upravo tu funkciju:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var_dump(in_array(3, $arr));
?>
Pouka: pre rešavanja zadatka obavezno proverite da li za njegovo rešenje postoji ugradjena funkcija u PHP-u.
U sledećem kodu neki programer nalazi zbir elemenata niza. Optimizujte rešenje ovog programera.
Evo koda:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem;
}
echo $sum;
?>
U sledećem kodu neki programer nalazi proizvod elemenata niza. Optimizujte rešenje ovog programera:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$res = 1;
foreach ($arr as $elem) {
$res *= $elem;
}
echo $res;
?>