Optimizacija z vgrajenimi funkcijami v PHP
Naj neki programer preverja, ali je
v tabeli število 5:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$exists = false;
foreach ($arr as $elem) {
if ($elem == 5) {
$exists = true;
break; // izstopimo iz zanke, da se ne vrti odveč
}
}
var_dump($exists);
?>
Trdim, da s to kodo nekaj ni v redu. Kaj je narobe, saj izstopimo iz zanke potem, ko smo našli število 3? Bistvo je, da vgrajene funkcije v PHP vedno delujejo za red hitreje kot analogna samopisna koda.
V našem primeru obstaja funkcija in_array,
ki reši postavljeno nalogo, - in uporabljati
je treba prav to funkcijo:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var_dump(in_array(3, $arr));
?>
Morala: pred reševanjem naloge se obvezno prepričajte, ali za njeno rešitev obstaja vgrajena funkcija PHP.
V naslednji kodi neki programer išče vsoto elementov tabele. Optimizirajte rešitev tega programerja.
Tukaj je koda:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem;
}
echo $sum;
?>
V naslednji kodi neki programer išče produkt elementov tabele. Optimizirajte rešitev tega programerja:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$res = 1;
foreach ($arr as $elem) {
$res *= $elem;
}
echo $res;
?>