PHP Centeri avaleht Skriptikogu Küsimuste-vastuste leht Teadete vaatamine ja saatmine Foorum - koht küsimiseks Otsingumootor Siit saad infot meie kohta

Kasutajanimi:  
  Parool: 
  Registreeri!   Unustasid salasõna?

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

lektor


Postitusi: 357
Tase: 6
Olek: Offline

Hinnang: Administratiivhinnang: 5/10Administratiivhinnang: 5/10Administratiivhinnang: 5/10Administratiivhinnang: 5/10Administratiivhinnang: 5/10
for või while

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

23.01.2004 08:23:10 Vajutades siia näed kasutaja lektor profiili

siiludus

Postitusi: 159
Tase: 5
Olek: Offline

Hinnang: Administratiivhinnang: 7/10Administratiivhinnang: 7/10Administratiivhinnang: 7/10Administratiivhinnang: 7/10Administratiivhinnang: 7/10Administratiivhinnang: 7/10Administratiivhinnang: 7/10
RE: for või while

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

Nii et maitseasi.

23.01.2004 08:30:03 Vajutades siia näed kasutaja siiludus profiili

muhv
Programmeerija


Postitusi: 470
Tase: Moderaator
Olek: Offline

Hinnang: Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10
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!

___________________________________________________
2B || !2B

23.01.2004 14:14:45 Vajutades siia näed kasutaja muhv profiili

siiludus

Postitusi: 159
Tase: 5
Olek: Offline

Hinnang: Administratiivhinnang: 7/10Administratiivhinnang: 7/10Administratiivhinnang: 7/10Administratiivhinnang: 7/10Administratiivhinnang: 7/10Administratiivhinnang: 7/10Administratiivhinnang: 7/10
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'];
}



23.01.2004 22:00:11 Vajutades siia näed kasutaja siiludus profiili

muhv
Programmeerija


Postitusi: 470
Tase: Moderaator
Olek: Offline

Hinnang: Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10
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!

___________________________________________________
2B || !2B

24.01.2004 10:22:55 Vajutades siia näed kasutaja muhv profiili
Kokku: 25955 registreerunud kasutajat, 9711 teemat, 54603 postitust.
Täna on neljapäev, 28. mai 2020. Kell on 04:25.

    Vaata selle lehe printerisõbralikku versiooni

Avaleht   -    Skriptikogu   -    Teated   -    Foorum   -    Reklaam   -    Tagasiside   -    Kasutamise reeglid

© Copyright 2002-2020 PHP Center. Kõik õigused reserveeritud.