PHP में लूप ऑपरेशन्स का ऑप्टिमाइजेशन
यहां तक कि एक हल्का ऑपरेशन भी, जो लूप में बार-बार दोहराया जाता है, बहुत सारे संसाधनों को ले सकता है।
आइए एक उदाहरण देखें। मान लीजिए कि हमारे पास एक निश्चित सरणी दी गई है:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
?>
आइए इस सरणी के तत्वों का औसत ज्ञात करें। इसके लिए तत्वों का योग ज्ञात करना होगा और इसे quantity से विभाजित करना होगा। मान लीजिए कि किसी प्रोग्रामर ने पहले ही इस समस्या को हल कर दिया है निम्नलिखित तरीके से:
<?php
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem / count($arr);
}
echo $sum;
?>
आइए ऐसे समाधान की समस्याओं पर गौर करें। तकनीकी रूप से कोड सही ढंग से काम करता है और सही उत्तर देता है। बात यह है कि गणितीय रूप से सही है या तो पूरी राशि को quantity से विभाजित करना, या quantity से प्रत्येक पद को विभाजित करना।
हालाँकि, एक और समस्या उत्पन्न होती है। बात यह है कि हम विभाजन करेंगे जितनी बार हमारी सरणी में तत्व हैं। और यह पता चलता है कि हम कर रहे हैं बहुत सारे अतिरिक्त ऑपरेशन, आखिरकार, विभाजन किया जा सकता था अंत में - केवल एक बार, पूरे पाए गए योग को विभाजित करके।
आइए अपने कोड को ऑप्टिमाइज़ करें:
<?php
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem;
}
echo $sum / count($arr);
?>
नीचे दिए गए कोड को ऑप्टिमाइज़ करें:
<?php
for ($i = 1; $i <= 31; $i++) {
if ($i === date('d')) {
echo "<b>$i</b><br>";
}
if ($i !== date('d')) {
echo "$i<br>";
}
}
?>