2010-04-23 81 views
0

我不知道问题出在哪里。也不会运行

这是有问题的代码:

$thisvb = (int) $key2; 
if ($thisvb == ($lastvb + 1)) { //This don't work 
    echo '<li>'; 
} else { echo '<li value="' . $key2 . '">';} 
$last = (int) $key2; 

下面是完整的代码。

<?php 
$voiceboxes = array(
    '141133' => array(
     '1'  => array(
      'Title' => 'Title2', 
      'Link' => 'http://...', 
     ), 
     '2' => array(
      'Title' => 'Title3', 
      'Link' => 'http://...', 
     ), 
     '3' => array(
      'Title' => 'Title4', 
      'Link' => 'http://...', 
     ) 
    ) 
); 
$last = 0; 
//$this = 0; 
echo "<ol>\n"; 
foreach ($voiceboxes as $key => $value) { 
    $lastvb = 0; 
    $thisvb = 0; 
    //$voiceboxes[$key]['title'] 
    echo "<ol>\n"; 
    foreach ($value as $key2 => $value2) { 
      $thisvb = (int) $key2; 
      if ($thisvb == ($lastvb + 1)) { //This don't work 
       echo '<li>'; 
      } else { echo '<li value="' . $key2 . '">';} 
      $last = (int) $key2; 
      echo $voiceboxes[$key][$key2]['Title'] . "<br/>" . $voiceboxes[$key][$key2]['Link'] . '</li>' . "\n"; 
      } 
     } 
    echo "</ol>\n"; 
    echo '</ol>'; 
?> 

这是我得到

<ol> 
<ol> 
<li>Title2<br/>http://...</li> 
Title3<br/>http://...</li> <!-- this ain't right, it should start with <li> --> 
Title4<br/>http://...</li> <!-- same here --> 
</ol> 
</ol> 

我不出来,没有人知道?

+2

5人同意你忘了回声 – 2010-04-23 16:21:37

+0

这正好解决它的一部分。但现在看。 – 2010-04-23 16:27:59

+0

发布其他问题的其他问题 – 2010-04-23 16:29:56

回答

4
} else { '<li value="' . $key2 . '">';} 
//--------^ 

您错过了echo

+0

由于图示,您将获得支票。 – 2010-04-23 16:36:55

3

您在else语句中忘记了echo

2

你没有回应else语句;它只是被发出,它不被输出。

2

您在else子句中缺少echo

2

你在else语句中缺少'echo'。尝试添加,并看看你得到什么输出。

1

你说你已经更新了代码和它仍然给你一个错误,但它仍然缺少一个回声

} else { '<li value="' . $key2 . '">';} 
     ^
+0

谢谢,我确实在我的网页上修复了它。 ;-) – 2010-04-29 12:47:43