Оптимизација кроз уграђене функције у PHP
Рецимо да неки програмер проверава да ли
у низу постоји број 5:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$exists = false;
foreach ($arr as $elem) {
if ($elem == 5) {
$exists = true;
break; // изаћи ћемо из петље да се не би окретала више пута
}
}
var_dump($exists);
?>
Тврдим да са овим кодом нешто није у реду. Шта није у реду, кад изалазимо из петље након што смо пронашли број 3? Ствар је у томе, што уграђене функције у PHP увек раде за ред величине брже од сличног кода написаног ручно.
У нашем случају постоји функција in_array,
која решава постављени задатак - и треба користити
управо ову функцију:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var_dump(in_array(3, $arr));
?>
Поука: пре решавања задатака обавезно проверите да ли за његово решење постоји уграђена функција у PHP.
У следећем коду неки програмер налази збир елемената низа. Оптимизујте решење тог програмера.
Ево кода:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem;
}
echo $sum;
?>
У следећем коду неки програмер налази производ елемената низа. Оптимизујте решење тог програмера:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$res = 1;
foreach ($arr as $elem) {
$res *= $elem;
}
echo $res;
?>