2010-07-02 29 views
6

Sorunum: For döngüsünde ters saymak istiyorum. Ben $i-- eser (benim sunucu çöküyor) değil koyarsanızphp ile nasıl ters sayılır?

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

:

Bu yapmak istediğim şeyin tersidir.

Yardım meeee!

Saygılarımızla, Adam

+1

Sunucunuz çökerse ... çok yanlış bir şey oluyor. Yoksa "çökme" nin bu liberal kullanımlarından biri mi? – Artefacto

+0

@Artefacto: Anlamı, "PHP betiği asla geri dönmez ve CPU yükü artar". Sonsuz döngüler yazarken olduğu gibi. – Tomalak

+0

Kilitleniyordu çünkü sonsuz bir döngü başlattım: P @ thetaiko benim için çözüldü. Yardım için teşekkürler! – Adam

cevap

23

Eğer $i-- sunucu çöküyor demek, sen $i için başlatma ve durumunu değiştirdiniz?

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

Omg :))) Ben öyle bir noob, evet değiştirdim, ama bu şekilde değil Ve çok teşekkürler: D – Adam

6

Eğer yazdım ve $i-- ile $i++ değiştirmek gibi for ele alırsak, $i değeri her yineleme (1, 0, -1, -2, vb) ve döngü koşulu ile azalacaktır $i<=10 her zaman doğrudur. Eğer geriye doğru saymak istiyorsanız

, ayrıca diğer bölümleri (başlatma ve döngü koşulu) değiştirmek gerekir:

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

Yoksa son alıp ondan mevcut değerini çıkarmak ve ilk değer katmak o kadar:

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

çok teşekkürler! – Adam

2

sadece

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

n yapıyorlar, alamadım yeter mi için PHP manual

den

+0

çok teşekkürler! – Adam

1

(; ifade2; Ifade1 expr3) ifadesi

birinci ifade (expr1) döngü başlangıcında merkezi koşulsuz olarak değerlendirilmiştir (yürütülür gibi). Her yinelemenin başlangıcında, expr2 değerlendirilir. TRUE olarak değerlendirilirse, döngü devam eder ve iç içe geçmiş deyim (ler) yürütülür. FALSE olarak değerlendirirse, döngünün yürütülmesi sona erer.

Her yinelemenin sonunda expr3 değerlendirilir (yürütülür).

+0

çok teşekkürler! – Adam