Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Pętla for - warunek równości nie działa ?

29 views
Skip to first unread message

hazet

unread,
May 21, 2012, 12:11:40 PM5/21/12
to
Witam,

zastanawiam się nad jedną rzeczą, dlaczego nie działa warunek równości w
pętli for ? np.

for ($i=0; $i==100; $i++)
{
echo $i.'<br/>';
}

Powyższy kod nic mi nie wyświetli.
Jednak jeśli zmienię warunek na <=

for ($i=0; $i<=100; $i++)
{
echo $i.'<br/>';
}

Zadziała.
Nie mogę tego rozgryźć, po prostu dlaczego to nie działa ?

ksdrs

unread,
May 21, 2012, 12:17:42 PM5/21/12
to
W dniu 2012-05-21 18:11, hazet pisze:
> for ($i=0; $i==100; $i++)
> {
> echo $i.'<br/>';
> }
>
> Powyższy kod nic mi nie wyświetli.

Czy przy $i=0 spelniony jest warunek $i==100?


ksdrs

sinusoid

unread,
May 21, 2012, 12:19:42 PM5/21/12
to
W dniu 21.05.2012 18:11, hazet pisze:
Dlatego :
The first expression (expr1) is evaluated (executed) once
unconditionally at the beginning of the loop.

In the beginning of each iteration, expr2 is evaluated. If it evaluates
to TRUE, the loop continues and the nested statement(s) are executed. If
it evaluates to FALSE, the execution of the loop ends.

At the end of each iteration, expr3 is evaluated (executed).

http://www.php.net/manual/pl/control-structures.for.php

hazet

unread,
May 21, 2012, 12:22:01 PM5/21/12
to
ksdrs pisze:
nie jest, ale dzięki zwiększaniu licznika miało do tego dojść.
"rób dopóki $i nie będzie równe 100"

hazet

unread,
May 21, 2012, 12:24:55 PM5/21/12
to
sinusoid pisze:
ahh czyli przez to od razu wywala false bo nie jest równe i kończy
iterację a przy <= jest true, bo $i jest mniejsze i wykonuje się.
Pomyliło mi się, że pętla jest wykonywana dopóki nie nastąpi true w
warunku, a jest na odwrót :p

Egon

unread,
May 21, 2012, 12:28:03 PM5/21/12
to
Access Violation in module <jpdq34$6aj$1...@inews.gazeta.pl> at address
"hazet". See explanation below:
nie, zaprezentowany for to "rób dopóki $i JEST RÓWNE 100" czyli weszło,
sprawdziło że $i NIE jest równe 100 i poszło dalej. Możesz zamienić na
while / do ... while / zmienić warunek.

--
[ ____ ____ ____ _ _ ] Pozdrawiam!
[ |___ | __ | | |\ | ]
[ |___ |__] |__| | \| ] http://www.radsoft.pl/
0 new messages