PHP-da aýlawlaryň amallaryny optimallaşdyrmak
Elýeterli bir amal, aýlawda has köp gezek gaýtalananda, köp resurslary sarp edip biler.
Mysal üçin seredeliň. Bizde belli bir massiw bar diýeliň:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
?>
Geliň bu massiw elementleriniň ortaça bahasyny tapalyň. Bun üçin elementleriň jemini tapmaly we ony sanyna bölmeli. Belli bir programmaçy bu meseläni şeýle çözen diýeliň:
<?php
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem / count($arr);
}
echo $sum;
?>
Geliň bu çözgütiň problemalaryna seredeliň. Tehniki taýdan kod dogry işleýär we dogry jogap berýär. Mesele şonda, matematiki taýdan hem jemi sanyna bölmek, hem-de her bir goşujyny sanyna bölmek dogry.
Emma, başga bir problem ýüze çykýar. Mesele şonda, bölülişligi massiwimizde näçe element bar bolsa, şonça gezek ýerine ýetireris. Şeýlelikde, biz köp mukdarda artykmaç amallary ýerine ýetirýäris, sebäbi bölülişligi ahyrynda - bir gezek, tapylan jemi bölüp ýerine ýetirip bilerdik.
Geliň kodymyzy optimallaşdyralyň:
<?php
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem;
}
echo $sum / count($arr);
?>
Aşakdaky kody optimallaşdyryň:
<?php
for ($i = 1; $i <= 31; $i++) {
if ($i === date('d')) {
echo "<b>$i</b><br>";
}
if ($i !== date('d')) {
echo "$i<br>";
}
}
?>