form name="form1" method="post" action="checkbox.php">
  您喜欢的体育运动: 
  <input type="checkbox" name="myfavorite[]" value="足球">足球 
  <input type="checkbox" name="myfavorite[]" value="篮球">篮球 
  <input type="checkbox" name="myfavorite[]" value="排球">排球 
  <input type="checkbox" name="myfavorite[]" value="乒乓球">乒乓球 
  <input type="checkbox" name="myfavorite[]" value="羽毛球">羽毛球 
  <input type="submit" name="Submit" value="Submit">
</form>--------------------------------
<?
for($int_i=0;$int_i<count($myfavorite);$int_i++){
  echo $myfavorite[$i]."<br>";
}
?>

解决方案 »

  1.   

    <?
    for($int_i=0;$int_i<count($myfavorite);$int_i++){
      echo $myfavorite[$int_i]."<br>";
    }
    ?>之前的PHP代码错了~~
      

  2.   

    我自己认为(不一定正确),在ASP中,它把相同名字的字段看作一个数组,所以每读取一个相同名字的字段时,就把该字段的数据放到相同字段内容的后面,如 myfavorite=myfavorite & "," & myfavorite_Last
    而PHP则是自动生成变量,因为变量是不能重名的,所以最后一个myfavorite会复盖前面生成的变量,所以最后只剩下最后一个myfavorite,如果用myfavorite[]作业字段名,则因为在PHP中,myfavorite[]是数组,所以myfavorite[]=myfavorite_Last,这样就可以把所有相同字段的数据保存到数组中.我觉得我说得不是太好,如果有错,请高手别见笑,因为我也是个菜鸟!
      

  3.   

    根据 hodat(华帝)给出的思路,找了些资料,终于明白了:如果对给出的值没有指定键名,则取当前最大的整数索引值,而新的键名将是该值加一。如果你指定的键名已经有了值,则该值会被覆盖。 如:<?php
    // This array is the same as ...
    array(5 => 43, 32, 56, "b" => 12);// ...this array
    array(5 => 43, 6 => 32, 7 => 56, "b" => 12);
    ?>  因为表单中"myfavorite[]"均未指定键名,所以多个选项依次保存在"myfavorite[]"数组中。多谢各位,接分!