2011-10-24 5 views
0

페이지가로드되지 않아서 for 루프 또는 foreach 루프 중 하나와 함께 뭔가 잘못 될 수 있으므로 내 코드에 문제가 있음을 알고 있습니다. topRankings 변수가 올바르게 설정되어 올바른 값을 제공합니다.for/foreach 루프로 인해 페이지가 표시되지 않음

<?php 
     for ($i = 0; $i >= count($topRankings); $i++){ 
      foreach($topRankings[$i] as $k=>$v) 
      { 
       $seperator = ($elements == $count) ? '' : '<hr />'; 
       $name = (!isset($row['character_name'])) ? 'TBD' : $row['character_name']; 
       $count++; 
      ?> 
       <li><span class="red"><?php echo $name; ?></span></li> 
      <?php 
      } 
     } 
     ?> 

$ topRankings

Array ([0] =&gt; Array ([character_name] =&gt; Kid Wonder) [1] =&gt; Array ([character_name] =&gt; Ryu Satoshi) [2] =&gt; Array ([character_name] =&gt; Oriel) [3] =&gt; Array ([character_name] =&gt; \"The Ladies Man\" Luscious Landon) [4] =&gt; Array ([character_name] =&gt; \"The Outlaw\" Mike Mayhem)) 

편집의에서 print_r : 내가 정의되지 않은 카운트 변수와 정의되지 않은 받고 있어요 가변 요소와 오프셋 미확정 5.

<?php 
     $count = count($topRankings); 
     for ($i = 0; $i <= $count; $i++) { 
      foreach($topRankings[$i] as $k=>$v) 
      { 
       $seperator = ($elements == $count) ? '' : '<hr />'; 
       $name = (!isset($row['character_name'])) ? 'TBD' : $row['character_name']; 
       $count++; 
      ?> 
       <li><span class="red"><?php echo $name; ?></span></li> 
      <?php 
      } 
     } 
     ?> 
+0

은 얼마나 많은 시간이 반복된다? 마찬가지로'$ topRankings'의 값과'$ topRankings [x]'에있는 행의 개수는 얼마입니까? – Nexerus

+0

topRankings의 print_r을 수행하면 다음과 같습니다. Array ([0] = > Array ([character_name] = > Kid Wonder) [1] = > Array ([character_name] = > Ryu Satoshi) [2] = > 배열 ([character_name] = > Oriel) [3] = > 배열 ([character_name] = > \ "숙녀 Man \"Luscious Landon) [배열 ([character_name] = > \ "The Outlaw \"Mike Mayhem)) –

+0

@ Mr.Magoo 게시물 하단의 코드 블록에 print_r의 출력을 게시 할 수 있습니까? 그렇게 쉽게 읽을 수 있습니다. –

답변

2

이 :

for ($i = 0; $i >= count($topRankings); $i++) { 

가되어야한다

$count = count($topRankings); 
for ($i = 0; $i <= $count; $i++) { 
+0

아직 문제가 있습니다. 위의 내 대답을 편집했습니다. –

7

이를 :

for ($i = 0; $i >= count($topRankings); $i++){ 

가되어야한다

for ($i = 0; $i <= count($topRankings); $i++){ 
+0

하지만 정의되지 않은 count 변수가 생깁니다. –

+0

@ Mr.Magoo, 죄송합니다. 'for ($ i = 0; $ i

1

다음은 <을 사용하기 때문에 $ 수가 5이고, 때문에 정의되지 않은 수를이 발생 = 당신은 0에서 5까지 반복합니다. 이것은 6 개 항목입니다 ... 마지막으로 라운드가 오류를 던집니다. 즉

$count = 5 
$count != count(range(0,5)); 
$count == count(range(0,4)); 

당신이 지금 전혀 foreach는 필요한 이유를 덧붙여 나는 또한 궁금에서

...

<?php 
$topRankings = array(
    0 => array('character_name' => 'Kid Wonder'), 
    1 => array('character_name' => 'Ryu Satoshi'), 
    2 => array('character_name' => 'Oriel'), 
    3 => array('character_name' => '"The Ladies Man" Luscious Landon'), 
    4 => array('character_name' => '"The Outlaw" Mike Mayhem') 
); 

$count = count($topRankings); 
for ($i = 0; $i < $count; $i++) { 
    $name = (!isset($topRankings[$i]['character_name'])) ? 'TBD' : $topRankings[$i]['character_name']; 
    echo '<li><span class="red">' . $name . '</span></li>'; 
    if ($i < $count-1) echo '<hr>'; 
} 
관련 문제