0
<?php
foreach($menu_names as $menu_name){
$i=0;
echo "<li><a href='?subj=" .$subjects_ids[$i]. " '>".$menu_name."</a></li>";
$i++;
}
?>

$subjects_ids1是一个数组,其中包含2和的三个值3。但此处以 HTML 格式创建的链接仅包含?subj=3所有三个$menu_name. 第一个$menu_name应该有subj=1,第二个应该有2,第三个应该有3

4

4 回答 4

2
$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 循环之外。

于 2012-04-26T13:23:25.200 回答
2

您每次都在循环中设置 $i = 0 。

$i=0;
foreach($menu_names as $menu_name){
  echo "<li><a href='?subj=" .$subjects_ids[$i]. " '>".$menu_name."</a></li>";
  $i++;
}

是更好的方法。

于 2012-04-26T13:23:38.180 回答
1
<?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

于 2012-04-26T13:32:37.990 回答
0

您在每次迭代时初始化 $i var,使其始终指向索引为 0 的元素。只需删除

$i=0;
于 2012-04-26T13:23:21.083 回答