編集中にshift+Enterをおしてしまいましたスミマセン

$cond = xxx;
$i = 0;
while ($cond) {
 $cond = newCond();
 $i++;
}

添字や逆さまからたどっていくという構造上欲しい$iがこれより1つ少ない値なのですが

while (1) {
 $cond = newCond();
 if (!$cond) break;
 $i++;
}

こうしたり単純に最初のループで$iを1つ減らせばとることはできるのですが
もっと違うやりかたで目的の$iを得る方法はないでしょうか?