foreach takrorlash operatori — massivlar bilan ishlash uchun maxsus yaratilgan sikl. Oddiy for da indeks bilan ovora bo’lsak, foreach massivning har bir elementini avtomatik beradi. Bu PHP’da massivlarni qayta ishlashning eng qulay va ko’p ishlatiladigan usuli.
foreach — massiv yoki boshqa to’plamning har bir elementini navbatma-navbat qayta ishlaydigan maxsus sikl. U indeks bilan ishlashni talab qilmaydi.
Oddiy foreach
foreach massivning har elementini navbatma-navbat o’zgaruvchiga joylaydi:
<?php
$mahsulotlar = ["telefon", "noutbuk", "smart soat"];
foreach ($mahsulotlar as $mahsulot) {
echo "Mahsulot: $mahsulot\n";
}
?>
Mahsulot: telefon
Mahsulot: noutbuk
Mahsulot: smart soat
foreach ($mahsulotlar as $mahsulot) har bir elementni $mahsulot ga joyladi. Indeks bilan ovora bo’lish shart emas — bu for dan ancha qulay.
Kalit va qiymat bilan
Assotsiativ massivda (kalit-qiymat juftliklari) foreach ikkovini ham beradi:
<?php
$yoshlar = ["Farrux" => 26, "Master Sherkulov" => 30];
foreach ($yoshlar as $ism => $yosh) {
echo "$ism: $yosh yosh\n";
}
?>
Farrux: 26 yosh
Master Sherkulov: 30 yosh
as $ism => $yosh har juftlikning kaliti ($ism) va qiymatini ($yosh) alohida beradi. Bu assotsiativ massivlarni qayta ishlashda bebaho.
foreach va for farqi
Ikki siklni jadvalda solishtiramiz:
| Xususiyat | for |
foreach |
|---|---|---|
| Indeks kerak | ha | yo’q |
| Assotsiativ massiv | qiyin | oson |
| O’qilishi | ko’proq kod | ixcham |
Massivlar uchun deyarli har doim foreach qulayroq.
Amaliy misol: yig’indi
foreach bilan massiv elementlarini jamlash oson:
<?php
$ballar = [85, 92, 78, 90];
$yigindi = 0;
foreach ($ballar as $ball) {
$yigindi += $ball;
}
echo "O'rtacha: " . ($yigindi / count($ballar));
?>
O'rtacha: 86.25
foreach bilan ballarni jamladik, count esa massivdagi elementlar sonini berdi. Bu naqsh — massivni aylanib chiqib qiymatlarni jamlash — real ilovalarda doimo uchraydi.
Xulosa
Bu bo’limda foreach sikli, uni oddiy va assotsiativ massivlar bilan ishlatish, for dan farqi va amaliy qo’llanishini ko’rib chiqdik. Massivlar uchun foreach — eng qulay tanlov. Keyingi darsda funksiyalar — kodni qayta ishlatishga o’tamiz.