Оптимизација преку вградени функции во 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;
?>