O while
bir for
dönüştürmek olamaz.
for
döngü artan döngüler için kullanılır. while
döngüler bir durumdur false
kadar kod çalıştırmak için kullanılır. En for
döngüler kolayca while
(for
döngüler while
döngüler sadece bir sözdizimsel geliştirmeleri) döngüler, ters dönüştürülebilir da her zaman mümkün değildir.
Aşağıdaki döngü düşünün:
while($row = pg_fetch_row($result)) { }
pg_fetch_row()
bir falsy value dönene kadar bu döngü yürütülür.
Note: Böyle bir döngü için uygun sözdizimi olacaktır:
while(($row = pg_fetch_row($result)) !== FALSE) { }
Ne yazık ki, bir for
döngü kullanarak gelebilir yakın şudur:
for(; $row = pg_fetch_row($result) ;) {}
Zaten while
döngü tam olarak aynı davranacaktır Hangi.
Note: Yine, böyle bir döngü için uygun sözdizimi olacaktır:
for(; ($row = pg_fetch_row($result)) !== FALSE ;) { }
Ben geri kod gitmek ve tam olarak sorunun nedenini yerine while
döngünün kullanımını suçlayarak bulmak gerektiğini düşünüyorum.
pg_fetch_row()
sütun bir dizi döndürür, böylece onu count()
kullanamazsınız.
Eğer pg_num_rows
gibi kullanarak olacak bir for
döngü kullanarak gelebilir yakın:
for($i = 0; $i < pg_num_rows($result); $i++) {
$row = pg_fetch_row($result);
}
Ama şahsen ben bu gereksiz ayrıntılı ve daha fazla sorunlara açık bulmak.