PHP-de goşma funksiýalar arkaly optimizasiýa
Bir programmist massiwde 5 sanynyň bardygyny barlap görýär:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$exists = false;
foreach ($arr as $elem) {
if ($elem == 5) {
$exists = true;
break; // artykmaý çyzykdan çykmak üçin
}
}
var_dump($exists);
?>
Men bu kod bilen bir zatň ýalňyşdygyny aýdýaryn. Emma näme ýalňyş, biz 3 sanyny tapanyňyzdan soň çyzykdan çykýarysmy? Asyl mesele şonda, PHP-deki goşma funksiýalar elmydama öz-özüňiz ýazan koda garanda tertip boýunça has çalt işleýär.
Bizim ýagdaýymyzda, in_array funksiýasy bar,
goýlan meseläni çözýär, - we ulanmak
ýöne şu funksiýa bilen bolmaly:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var_dump(in_array(3, $arr));
?>
Görkezme: meseläni çözmezden ozal hökmany ýoklaň, ony çözmek üçin PHP-de goşma funksiýa barmy.
Aşakdaky kodda bir programmist massiw elementleriň jemini tapýar. Bu programmistiň çözgüdini optimizirleň.
Kod şu ýerde:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem;
}
echo $sum;
?>
Aşakdaky kodda bir programmist massiw elementleriň haspylanyşmasyny tapýar. Bu programmistiň çözgüdini optimizirleň:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$res = 1;
foreach ($arr as $elem) {
$res *= $elem;
}
echo $res;
?>