楼主理解有偏差 $choice=mysql_fetch_array,一次性取出一条记录出来,并且放入$choice中,$choice是一个数组,存放了查询相关字段的值; while循环时,第一次和第二次得到的$choice数组不是一样的,所以$choice[info]和$choice[id]也不一样了! 关键就是$choice是个数组,简单的说 id info 1 a 2 b 3 c while循环时,第一次,$choice数组是【1,a】,$choice[info]是a,$choice[id]是1; 第二次,$choice数组是【2,b】,$choice[info]是b,$choice[id]是2; 以此类推!
$choice=mysql_fetch_array,一次性取出一条记录出来,并且放入$choice中,$choice是一个数组,存放了查询相关字段的值;
while循环时,第一次和第二次得到的$choice数组不是一样的,所以$choice[info]和$choice[id]也不一样了!
关键就是$choice是个数组,简单的说
id info
1 a
2 b
3 c
while循环时,第一次,$choice数组是【1,a】,$choice[info]是a,$choice[id]是1;
第二次,$choice数组是【2,b】,$choice[info]是b,$choice[id]是2;
以此类推!
而是choiceid[],不是choice,choiceid[]是一个新的数组函数,不是choice[id]
$myAry[] = 1;
$myAry[] = 2; print_r($myAry);PHP会自动建立数组下标(如不指定,则从0开始递增);
在第二次使用array[]=1;的时候,array[1]==1;返回true
只要array[]的中括号里面没有填写序数,php会自动添加的。增量是1
$choice=mysql_fetch_array($result)
这里面的$choice不是单纯意义上的数组,是自动适配出来的数组,他本身自动建设成为了一维数组。因为mysql_fetch_array($result)的结果是一个数组
你的明白?