<?php
foreach($menu_names as $menu_name){
$i=0;
echo "<li><a href='?subj=" .$subjects_ids[$i]. " '>".$menu_name."</a></li>";
$i++;
}
?>
$subjects_ids
是一个包含 1
、2
和 3
三个值的数组。但是在HTML中创建的链接仅包含所有三个$menu_name
的?subj=3
。第一个$menu_name
应该有subj=1
,第二个应该有2
,第三个应该有3
。
$i=0;
foreach($menu_names as $menu_name){
echo "<li><a href='?subj=" .$subjects_ids[$i]. " '>".$menu_name."</a></li>";
$i++;
}
将$i=0;
放在循环外。
解释:
当您$i
将变量放在 foreach 循环中并将其值设置为 0
时,每次循环数据时,值 $i
都将设置为 $i=0;因此您应该将其放在 foreach 循环之外。
您每次在循环中都设置 $i = 0。
$i=0;
foreach($menu_names as $menu_name){
echo "<li><a href='?subj=" .$subjects_ids[$i]. " '>".$menu_name."</a></li>";
$i++;
}
是更好的方法。
<?php
$i=0;
foreach($menu_names as $menu_name){
echo "<li><a href='?subj=" .$subjects_ids[$i]. " '>".$menu_name."</a></li>";
$i++;
}
?>
您已经在循环中初始化了$i变量,它应该在循环开始之前初始化,因此其值保持不变并在所有 A 标签中添加 id 3
您在每次迭代时初始化$i var,使其始终指向索引为 0 的元素。只需删除
$i=0;