php - döngü çift itering ise Zamanlar beklenen ve döngü için iç içe beklenenden 1.5 kat daha fazla yineleme edilir

0 Cevap php

Bu komut dosyası, çok boyutlu bir dizi ve değerleri arasında yineleme gerekiyordu.

Dizi boyutu 10 ve her eleman bir ilişkisel dizi içermelidir:

$games[0] => array('foo' => 'bar')
$games[1] => array('foo1' => 'bar1')
etc..

While döngüsü, bu örnekte 5 kez yineleme gerekir. Için döngü while döngüsünün her yineleme için 10 kez yinelemek gerekir.

Yani yankı olmasını bekliyorum:

countwhile = 5 countfor = 50 totalgames = 50

ama im aslında alıyorsanız

countwhile = 5 countfor = 150 totalgames = 150

Ben önce aşağıdaki arama ve içeriğini görüntülemek için print_r kullanmış ve beklendiği gibi olduğunu yaptık çünkü $ oyunları dizi sorun olmadığına inanıyorum.

Bütün bu kod benim index.php sayfasında olduğu gibi bir işlev veya sınıf değil, sorun değişken kapsamları ile ilgisi olabilir?

$totalruns = 5;  
$endindx = 10;
$startindx = 0;
$countwhile = 0;
$countfor = 0;
$totalfilesize = 0;
$totalgames = 0; 
$sizeof = 0; 

while($totalruns > 0)  
{  
     $games = $feedHandler->getGames($startindx, $endindx);  
     $sizeof = sizeof($games);  

     for($i=0; $i<$sizeof; $i++)  
     {  
          $totalfilesize += $games[$i]['swf_file_size'];
          $countfor++;  
     }  

     $startindx += 10;
     $endindx += 10;  
     $totalruns -= 1;  
     $totalgames += $sizeof;
     unset($games);  
}  

echo'<p>' . ' countwhile = ' . $countwhile . ' countfor = ' . $countfor . '</p>';

0 Cevap