2011-10-24 60 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它看起來像這樣:陣列([0] = >陣列([character_name] = >兒童好奇)[1] = >陣列([character_name] = >柳聰)[2] = > Array([character_name] = > Oriel)[3] = > Array([character_name] = > \「The Ladies Man \」Luscious Landon)[4] = > Array([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

但後來我得到一個未定義的計數變量。 –

+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>'; 
}