forоператоры РНР тіліндегі күрделі циклдер тобына жатады. Ол С тіліндегі циклге ұқсас болып келеді. Жазылуы:
for(1-өрнек;2-өрнек;3-өрнек){орындау_блогы} немесе
for(1-өрнек;2-өрнек;3-өрнек):орындау_блогыendfor; Мысалы, 10-ға дейінгі барлық жұп сандарды экранға шығару үшін for циклі келесідей түрде жазылады:
for($i=0;$i<10;$i++){ if($i%2==0)print$i.""; //жұпсандардышығару } Егер оператор жақшасындағы екінші өрнекті ($i<10 шарты) алып тастасақ, онда циклден шығу үшін break операторын қолдану керек болады:
for($i=0;;$i++){ if($i>=10)break;/*егер$i10-нанартықнемесе тең болса,циклдіаяқтаймыз*/ if ($i % 2 = = 0) print $i. " "; //егерсанжұпболса,онышығару} ?> Жақша ішіндегі барлық үш өрнекті де алып тастауға да болады. Мұндай жағдайда $i
санауышының алғашқы мәні де берілмейді және ол циклдің аяғында да өзгертілмейді. Сондықтан осы әрекеттерді жеке команда түрінде – орындау блогында немесе цикл алдында жазу қажет болады:
$i=0;//санауышқабастапқымәнбереміз for ( ; ; ) { if($i>=10)break; //егер$i10-нанартықнемесетеңболса,циклдіаяқтау if($i%2==0)print $i; //егерсанжұпболса,онышығару $i++;//санауыштыбіргеарттыру } ?> for жақшасы ішіндегі үшінші өрнекте бірнеше қарапайым командаларды үтір арқылы
жазуға да рұқсат етілген. Мысалы, егер біз барлық сандарды экранға шығарғымыз келсе, онда программаны қарапайым нұсқада жазуға болады:
for($i=0;$i<10;print$i,$i++); /*Егерорындау_блогындакомандаболмасанемесетекбіркоманда ғана болса, жүйелі жақшаларды қоймаса да болады */ ?>
Foreach операторы
foreachоператоры тағы да бір керекті цикл конструкциясы болып саналады. Ол тек РНР4 тілінен бастап жиымдармен жұмыс істеу мақсатында енгізілді. Жазылуы:
foreach($arrayas$value){орындау_блогы} немесе
foreach($arrayas$key=>$value){орындау_блогы} Бірінші нұсқада цикл $array айнымалысы арқылы берілген жиымның барлық элементтерін қамтиды. Циклдің әр қадамында жиымның ағымдағы элементінің мәні $value айнымалысына жазылады да, ішкі санауыш бірге өседі (келесі қадамда жиымның келесі элементі өңделеді). Орындау_блогы ішінде жиым элементінің ағымдағы мәнін $value айнымалысы көмегімен алуға болады. Цикл $array жиымында қанша элемент болса, сонша рет орындалады.
Жазудың екінші нұсқасында жоғарыда айтылғандарға қосымша циклдің әрбір қадамында жиымның ағымдағы элементінің кілті (индексі) $key айнымалысының мәні ретінде жазылып отырылады, оны орындау_блогында пайдалануға болады.
foreach орындалуы басталғанда, жиымның ішкі көрсеткіші автоматты түрде оның бірінші элементіне орналасады.
$names=array("Азат","Бекзат","Айым"); foreach ($names as $val) { echo"Сәлем,$val ";