Функсияҳои дохилии 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;
?>