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
$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
$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.
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
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem;
}
echo $sum;
?>
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
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$res = 1;
foreach ($arr as $elem) {
$res *= $elem;
}
echo $res;
?>