PHP Center
http://phpcenter.eu/
Foorumi teema printimine


Foorumid Programmeerimine PHP & MySQL for või while
Autor Postitus
lektor

Postitusi: 357
Tase: 6
Olek: Offline

23.01.2004 08:23:10
for või while

Millistel puhkudel kasutada for ja millistel while
Sisult tunduvad väga sarnased.

siiludus

Postitusi: 159
Tase: 5
Olek: Offline

23.01.2004 08:30:03
RE: for või while

while($x < $y)
on sama, mis
for(;$x < $y;)

Nii et maitseasi.

muhv
Programmeerija

Postitusi: 470
Tase: Moderaator
Olek: Offline

23.01.2004 14:14:45
RE: for või while

Tsiteeritud tekst:
while($x < $y)
on sama, mis
for(;$x < $y;)

Nii et maitseasi.


Nu see näide nüüd eriti ära küll ei seleta, mis vahe neil kahel on, vaid püüab just näidata et mõlemad on samad, justnagu :)

Põhimõtteliselt on mõlemad tsükli genereerimise käsud, kuid üks on siis määramat korduste arvuga tsükli jaoks (while) ja teine enamuses mõeldud kindla korduste arvuga tsükli jaoks (for), kuigi jah nagu näha, võib ka for-i kasutada esimeses olukorras!

Aga on olukordi siiski, kus on mugav elistad ühte teisele!

Väikseid näiteid:

Vaja väljastada esimese 100 numbri summa:
PHP kood:

$sum=0;
for(
$i=1$i<=100$i++){
    
$sum += $i;
//for
echo $sum;



Ja sama asi nüüd siis võrdluseks whilega tehtult
PHP kood:

$sum 0;
$i=1;
while(
$i<=100){
    
$sum += $i;
    
$i++;
//while
echo $sum;



Kuid kui on tegu näiteks assoc. array-ga või mysql päringuga, siis on parimaks kasutuseks alati while:
Leiame taas summa:
PHP kood:

$x=array(
    
'a' => 12,
    
'b' => 13,
    
'x' => 99,
    
'z' => 0,
);

$sum=0;
while(list(,
$v)=each($x)){
    
$sum += $v;
}
echo 
$sum;



Ja siin üks kaval nipp, kuidas lugeda mySQL päringu tulemus arraysse, kus iga kirje siis eraldi real:
PHP kood:

$qry mysql_query('SELECT * FROM tabel');
while(
$row[] = mysql_fetch_assoc($qry)){ }



Edu!

siiludus

Postitusi: 159
Tase: 5
Olek: Offline

23.01.2004 22:00:11
RE: for või while

Oi kui tore on vaielda :)

Tsiteeritud tekst:

Kuid kui on tegu näiteks assoc. array-ga või mysql päringuga, siis on parimaks kasutuseks alati while:
Leiame taas summa:
PHP kood:

$x=array(
    
'a' => 12,
    
'b' => 13,
    
'x' => 99,
    
'z' => 0,
);

$sum=0;
while(list(,
$v)=each($x)){
    
$sum += $v;
}
echo 
$sum;




AGA:
PHP kood:


for($sum=0;list(,$v)=each($x);$sum += $v);
echo 
$sum;



Tsiteeritud tekst:

Ja siin üks kaval nipp, kuidas lugeda mySQL päringu tulemus arraysse, kus iga kirje siis eraldi real:
PHP kood:

$qry mysql_query('SELECT * FROM tabel');
while(
$row[] = mysql_fetch_assoc($qry)){ }




Siin sa jätad $row algväärtustamata! Kuigi jah, suurt vahet pole.
PHP kood:


$qry mysql_query('SELECT * FROM tabel');
for(
$row array();$row[] = mysql_fetch_assoc($qry););


Mina eelistan enamasti for-i. On ka mugav, kui sul on vaja teada reanumbreid:
PHP kood:


for($i=1;$row mysql_fetch_assoc($qry);$i++) {
  echo 
$i.'. '.$row['data'];
}



muhv
Programmeerija

Postitusi: 470
Tase: Moderaator
Olek: Offline

24.01.2004 10:22:55
RE: for või while

Nu eks maitseasi lõpuks loomulikult, et kuidas mida kasutad :)

Nii et vaidlema ei hakka, näitasin vaid oma lähenemispunkti asjale!

Edu!