PHP For循环中的If语句不起作用
我正在尝试将CSS类“selected”添加到创建的第一个accordionButton div中。为什么这样不行PHP For循环中的If语句不起作用,php,Php,我正在尝试将CSS类“selected”添加到创建的第一个accordionButton div中。为什么这样不行 // Create nav from database $chapter_array = get_chapter_names(); for ($i=0; $i < sizeof($chapter_array); $i++) { if($i == 0) {
// Create nav from database
$chapter_array = get_chapter_names();
for ($i=0; $i < sizeof($chapter_array); $i++) {
if($i == 0) {
$selected = 'selected';
}
echo '<div class="accordionButton '.$selected.'">'.$chapter_array[$i].'</div>';
$page_id_array = get_page_ids($i);
echo '<div class="accordionContent">';
for ($j=0; $j < sizeof($page_id_array); $j++) {
$page_name = get_page_name($page_id_array[$j]);
echo '<a href="?page_id='.$page_id_array[$j].'">'.$page_name.'</a><br />';
}
echo '</div>';
}
//从数据库创建导航
$chapter\u array=get\u chapter\u names();
对于($i=0;$i ”;
}
回声';
}
您从未在第一个div之后设置$selected
,因此这会将该类添加到每个div,因为$selected
始终包含字符串'selected'
您可以将其设置为if语句之前的空字符串:
$selected = '';
if($i == 0) {
$selected = 'selected';
}
如果你更喜欢这个,你也可以把它写成一个很好的三元表达式:
$selected = $i == 0 ? 'selected' : '';
“它不起作用”是相当模糊的。始终提供一个简单的解释,说明它是如何工作的。一条错误信息,发生了什么,等等。这是一个很好的观点。它不起作用,因为所有accordionButton div都被类“选中”。以下@PaulP.R.O的正确答案。谢谢当然,谢谢。我会尽快给你正确答案(限制10分钟)。@chris_mac谢谢:)我很高兴能帮上忙。肯德尔也是正确的。如果你说问题出在哪里,而不是仅仅说它不起作用,那么这会更容易发现。下次记住:)