Menu

Instructiunile For si While

Acum vom vorbii de asa zisele bucle/loop-uri care repeta un bloc de cod de n ori, deja stiti de bucle de cand am vorbit despre foreach.

1. Instructiunea For

Instructiunea For se repeta de un numar fix de ori.(in cazuri normale) In instructiunea for exista in majoritatea cazurilor si o variabila ce ne spune la ce numar a ajuns.
Instructiunea for este de forma:

<?php 
for(expresia1, expresia2, expresia3){
	cod de executat
}
?>
Acum sa incercam sa facem o bulca simpla care sa se repete de 5 ori, de la 1 la 5:
<?php
for($i=1; $i <= 5; $i++){
	echo "Am ajuns la numarul <b>$i</b> <br/>";
}
?>
Output:

Dupa cum vezi cand for a ajuns la numarul 5 s-a oprit.

Instructiunea for poate fi oprita cu ajutorul break; Un exemplu:

<?php 
for ($i=1; ; $i++) { 
	if($i >= 3){
		echo "M-am oprit la numarul <b>$i</b> <br/>";
		break;
	}
	echo "Sunt la numarul <b>$i</b>. <br/>";
}
?>
Output:

Banuiesc ca ati observat ca nici una din expresii nu este obligatorie. Ne putem juca cu ele cum dorim.

Instructiunea for mai are o varianta asemanatoare if. Mai multe veti vedea in exemplu urmator:

<?php 
for ($i=1; ; $i++): 
	if($i >= 3){
		echo "M-am oprit la numarul <b>$i</b> <br/>";
		break;
	}
	echo "Sunt la numarul <b>$i</b>. <br/>";
endfor;
?>
Output:

Dupa cum vedeti aceasta varianta este mult mai clean, deci recomand folosirea ei cat mai des cu putinta.


2. Instructiunea While

Intructiunea while, tot o bucla, se repeta cat timp conditia este true si se opreste cand este false. While este folosita de cele mai multe ori cand se extrag date din mysql, dar nu doar pentru asta desigur.
Acum vom incerca sa cream o bucla cu while care va imita for.

<?php  
$i = 1;
$max = 3;
while (true) {
	if($i >= $max){
		echo "M-am oprit la numarul <b>$i</b> <br/>";
		break;
	} else{
		echo "Sunt la numarul <b>$i</b>. <br/>";
	}
	$i++;
}
?>
Output:

While mai are si o forma asemanatoare if-ului. Mai multe veti vedea in exemplu urmator:

<?php  
$i = 1;
$max = 3;
while (true):
	if($i >= $max){
		echo "M-am oprit la numarul <b>$i</b> <br/>";
		break;
	} else{
		echo "Sunt la numarul <b>$i</b>. <br/>";
	}
	$i++;
endwhile;
?>
Output:

Aceasta varianta este mult mai clean si mai frumoasa, iar eu recomand cu caldura sa o folositi pe aceasta.


Cam atat si cu lectia aceasta, pentru mai multe exemple cu for consultati pagina aceasta si pentru mai multe exemple cu while consultati pagina aceasta .



Ti-a placut articolul? Asigura-te ca-ti dam de veste cand publicam altele noi.


Tags: Curs It, Programare Web, Tutoriale, Php

Comments Nota 0 din 0