2010-07-02 3 views
6

내 문제 : for 루프에서 역수로 계산하려고합니다. 내가 $i--이 작품 (내 서버 충돌)하지 않는 넣으면PHP에서 for와 역수를 계산하는 방법은 무엇입니까?

for($i=1;$i<=10;$i++){ 
    echo $i; 
} 

:

은 내가하고 싶은 것과 반대입니다.

도움말 meeee!

최고 감사합니다, 아담

+1

서버가 손상된 경우 ... 매우 잘못된 것이 있습니다. 아니면 "충돌"의 자유 주의적 사용 중 하나입니까? – Artefacto

+0

@Artefacto : 그가 의미하는 바는 "PHP 스크립트는 절대 반환되지 않으며 CPU 부하가 증가합니다"입니다. 무한 루프를 작성할 때 발생합니다. – Tomalak

+0

무한 루프를 시작했기 때문에 충돌이있었습니다. P @thetaiko가 해결했습니다. 도와 주셔서 감사합니다! – Adam

답변

23

당신이 $i--가 서버를 충돌 말, 당신은 $i의 초기화 및 조건을 변경 했습니까?

for($i=10; $i>=1; $i--){ 
    echo $i; 
} 
+1

Omg :))) 나는 그런 멍청한 녀석이다. 예, 나는 그것을 바꿨으나 이쪽이 아니다. 고마워요. D – Adam

6

당신이 쓴 그냥 $i--으로 $i++ 교체대로 for을 경우, $i의 값마다 반복 (1, 0, -1, -2 등) 및 루핑 조건으로 감소 될 것입니다 $i<=10은 항상 true입니다. 거꾸로 계산하려면

, 당신은 또한 다른 부분 (초기화 및 반복 조건)을 변경해야합니다

for ($i=10; $i>=1; $i--){ 
    echo $i; 
} 

을 또는 당신은 마지막을 그것에서 현재 값을 빼고 첫 번째 값을 추가 이에 :

for ($first=1, $i=$first, $last=10; $i<=$last; $i++){ 
    echo $last - $i + $first; 
} 
+0

대단히 고마워요! – Adam

2

난 그냥

for($i=10;$i>=1;$i--){ 
    echo $i; 
} 

는 n은하고, 그것을 얻을하지 않습니다 충분히? 위한 PHP manual

에서

+0

대단히 고마워! – Adam

1

(; expr2이, expr1을 expr3를) 문

제 식 (expr1을)는 루프의 처음에 한번 무조건 평가 (실행)된다.

각 반복의 시작 부분에서 expr2가 평가됩니다. TRUE로 평가되면 루프가 계속되고 중첩 된 명령문이 실행됩니다. FALSE로 평가되면 루프 실행이 끝납니다.

각 반복 끝에 expr3이 평가 (실행)됩니다.

+0

대단히 고마워요! – Adam