Archief - [PHP]loops in loops

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

hl2.be

Legacy Member
Probleem is als volgt: ik doe een query en overloop mijn rows via een while loop. In die while loop zit een functie die een for loop aanspreekt.
En nu komt waarschijnlijk een domme vraag, als die for loop begint, begint hij dan direct aan het volgende item in mijn while loop of wacht hij eer die for loop klaar is om verder te doen met de while loop ? Indien hij wacht met zijn while loop, is er een manier om dit te omzeilen ?

SideShow

Legacy Member
Normaal gebeurd php sequentieel, dwz dat hij eerst de for afwerkt, dan de rest van de while zal afwerken, en dan opnieuw gaat beginnen aan de while als diens zijn check nog true is.

Een manier om dit te omzeilen zal zijn om je code aan te passen volgens mij.

Deguchi

Legacy Member
er is geen manier om zomaar een for en een while tegelijk uit te voeren als ze in dezelfde loop zitten

het feit dat ge zoiets wilt omzeilen wilt al zeggen da u code ni goe is vrees ik ;)
alle, waarom zou ge anders een for (wat een check is) in een while willen stoppen (wat ook een check is) terwijl het toch ni uitmaakt wat die for doet, want ge wilt gewoon dat de while doorgaat :s

wa ge natuurlijk wel zou kunnen doen is werken met threading, alhoewel ik er geen flauw idee van heb of dat mogelijk is met php (ik vrees het niet)

schop aars

Legacy Member
uw code ziet er dan zo ongeveer uit (ken geen php )

while(blabla)
{
for(blabla)
{
blabla
}
eventueel nog andere blabla in uwen while
}

nu gaat em "per stap" van uwen while een volledige for lus doorlopen
m.a.w alle stappen van die for lus worden uitgevoerd iedere keer dat de while lus één stap uitvoerd.

schop aars

Legacy Member
tis miss makkelijker om te zeggen wat uw lussen moeten doen als we u willen helpen

Tyfius

Legacy Member
Threading en php gaan afaik nog niet samen.

Ik gok dat der een serieuze fout in uw denkmethode zit als ge een for en een while tegelijk wil doorlopen.
Paste uw code eens, zodat we er is naar kunnen kijken anders.

Pomme

Legacy Member
9/10 kansen bedoelt hij met 'tegelijk', dat die for lus in die while zit, en nieks meer, nieks met threading te maken etc.

Ik denk dat zijn vraag is, als de while bv aan de vierde rij zit van 't geen hij uit zijn db heeft gehaald, die for lus ook aan zijn vierde rij 'begint'. Da hangter allemaal vanaf natuurlijk....

$i = 0
while($row <- mysql_fetch_row($lala){
//code
for($j = $i; $j < $blabla;$j++){
//code
}
$i++;
}

is 't zowiets dat hij mss bedoelt ?

te lang geleden da 'k nog php gecode heb, ken die syntax nog maar half ;)

Asshen

Legacy Member
Hij wacht totdat de for loop in uw aparte functie afgelopen is voor hij verder doet met uw aanroepende while loop.

Als je zou willen dat de while loop verder gaat terwijl de loop nog uitgevoerd wordt, ga je inderdaad met threading moeten werken.
Dit is mogelijk in ASP.NET, maar ik heb er geen idee van of dit ook al mogelijk is in PHP...

Groeten.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan