Маслиҳатҳо дар навиштани рамзи ҳалқаҳо дар PHP
Ҳангоми омӯзиши забони барномасозӣ, мураккабии барномаҳои шумо афзоиш меёбад. Вақти он расидааст, ки дар бораи он суҳбат кунем, ки чӣ гуна рамзро дуруст нависед, то ки он корҳоеро анҷом диҳад, ки шумо дар назар доред. Ман ба шумо услуби хуб медиҳам.
Бигзор пеш аз шумо вазифае бо мураккабии кофӣ истода бошад, ки барои амалӣ кардани он зарур аст, ки як миқдор сатрҳои рамз навишта шаванд.
Равиши нодуруст ин хоҳиши навиштани тамоми рамзи ҳал дар якҷоягӣ ва сипас оғоз кардани тафтиши он хоҳад буд. Дар ин ҳолат, эҳтимолияти баланд вуҷуд дорад, ки ҳеҷ чиз ба кор наафтад ва шумо бояд хаторо дар миқдори зиёди рамз ҷустуҷӯ кунед.
Равиши дуруст ин тақсим кардани вазифа ба қадамҳои хурди элементӣ мебошад, ки шумо онҳоро амалӣ карда ва фавран дурустии онҳоро тафтиш мекунед. Дар ин ҳолат, ҳатто агар шумо дар ҷое хатогӣ кунед, шумо фавран мушкилиро дида, онро дуруст мекунед.
Биёед дар амал санҷем. Барои мисол, ба шумо массиве бо рақамҳо дода шудааст:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
?>
Фарз мекунем, пеш аз шумо вазифаи гирифтани он унсурҳои ин массив, ки ба 3 тақсим мешаванд ва ёфтани маҷмӯи онҳо истодааст.
Як қадами аввали хурдро, ки ман пешниҳод мекунам, ин танҳо гузаронидани унсурҳои массив бо ҳалқа ва баровардани онҳо ба экран аст. Биёед ин корро анҷом диҳем ва боварӣ ҳосил кунем, ки ҳама чиз кор мекунад:
<?php
foreach ($arr as $elem) {
echo $elem;
}
?>
Акнун биёед он унсурҳоро, ки ба 3 тақсим мешаванд, ҷудо кунем. Онҳро бароварда, боварӣ ҳосил кунем, ки мо унсурҳои дурустро мегирем:
<?php
foreach ($arr as $elem) {
if ($elem % 3 === 0) {
echo $elem; // 3, 6, 9-ро мебарорад
}
}
?>
Акнун қадами навбатӣ, мо метавонем маҷмӯи унсурҳои дархостшавандаро ёбем:
<?php
$sum = 0;
foreach ($arr as $elem) {
if ($elem % 3 === 0) {
$sum += $elem;
}
}
var_dump($sum);
?>
Массив дода шудааст:
<?php
$arr = [10, 20, 30, 40, 21, 32, 51];
?>
Аз ин массив он унсурҳоеро, ки рақами аввали онҳо 1 ё 2 мебошад, гирифта ва маҷмӯи онҳоро ёбед.