2016-03-23 29 views
0

bazı açık kaynak koduna bakıp bu rastladım var ... ;; ne yapar(;;) demek

for(;;) { 
    echo "a:" . $throttle->throttle($identifier, 5, 1000); 
} 

for ifadesinde durun - daha önce hiç rastlamadım?

+2

10 Sadece sonsuz bir döngü oluşturuyor, yineleme için başlatma, sona erdirme veya ayarlama için hiçbir koşul yok .... kişisel olarak tercih ederim ben (true), ne kadar sezgisel –

+0

büyük - ne anlama geldi çalışıp aynı şeyi farkettim :) bunu kabul etmem için bir cevap olarak eklemekte çekinmeyin – Zabs

cevap

1

Aynı şey (true), sonsuz bir döngüdür.

1

Bu sonsuz bir döngüdür. Tipik bir döngüde, noktalı virgüller arasında ifadeler vardır. Boş bırakırsanız, asla bitmeyecek bir döngü anlamına gelir.

1

Sonsuz bir döngüdür. For döngüsünün Anatomisi 3 parça eksik Senin durumunda

for (initialization_expression ; test_condition; update_expression) 
    { 
     // Code 
    } 

olduğunu. Test koşulu eksik olduğundan, gerçek olarak değerlendirilecek ve döngü sonsuza kadar devam edecek.

1

sözdizimi Dil Referans → Kontrol Yapıları → for (vurgu benim) at açıklanmıştır:

for (expr1; expr2; expr3) 

[...] ifadelerin

Her boş olabilir veya virgülle ayrılmış birden çok ifade içerir. Expr2'de, tüm ifadeler bir virgülle ayrıldı, ancak sonuç son kısımdan alınır. expr2 boşken döngü, sonsuz olarak çalıştırılmalıdır (PHP, C gibi DOĞRU olarak kabul eder). Bu, düşüncede olduğu gibi işe yaramaz olmayabilir, çünkü genellikle doğruyu ifade ifadesini kullanmak yerine koşullu ara deyimini kullanarak döngüyü sonlandırmak isteyebilirsiniz.

1

for(initialization;condition;increment/decrement) sözdizimi çok başlatma için döngü başlamadan önce, bir kez çağrılmaktadır. Son iki parametre numaralı her iterasyondan sonra değerlendirilir.

Şimdi, sonlandırma koşulunu kaldırırsanız, while(true) döngüsüne eşdeğerdir. Sorunuzda olduğu gibi, isteğe bağlı ve sizin durumunuzda gerekmediği için, diğer parametreler de göz ardı edilir.