一般用foreach+reset遍历数组
也可以用来处理读出的数据库啊
一般也这样用:
 foreach($items as $item){
     $item['id'];
     ...
     ...
 }

解决方案 »

  1.   

    就是说你上面那段代码可以用while先全部读出来到数组$result中再用foreach便利显示
      

  2.   


    就是说你上面那段代码可以用while先全部读出来到数组$array中再用foreach便利显示我是指上面的$array,对不起没看清楚
      

  3.   

    $sql='SELECT * FROM user';
    $result=mysql_query($sql);
    while($array=mysql_fetch_array($result))
    {
    $message.='<option value=$array[0]>$array[1]</option>';
    }那上面这段代码是不是可以改成这种形式那?
    $sql='SELECT * FROM user';
    $result=mysql_query($sql);
    foreach ($result as $array)
    {
    $message.='<option value=$array[0]>$array[1]</option>';
    }
      

  4.   

    应该是的,不过我觉得意义不太大,
    foreach和each+reset一样的,就是遍例数组,对数据库操作没什么必要
      

  5.   

    不过你这个程序有问题吧$array[0]这样写好象取不出值来吧,
    你用的是mysql_fetch_array,取出的应该是array['xx'],你这样写array[0]应该用mysql_fetch_row
    而且foreach是遍历数组,你一次取两个array会有问题
      

  6.   

    晕,你的程序只有$result=mysql_query($sql);,
    在foreach上还得加上$result=mysql_fetch_array($result);
    mysql_query是执行sql查询,没有取出值来啊?呵呵
    再看看书学习一下吧
      

  7.   

    foreach 是用在associate array的,大哥!
      

  8.   

    $result是一个资源
    foreach只能处理array
      

  9.   

    $result=mysql_query($sql);
    while($array=mysql_fetch_array($result))
    {
      $message.='<option value=$array[0]>$array[1]</option>';
    }foreach只用在数组,$array是数组所以可以用
    mysql_fetch_array是取得一条记录,跟foreach不大一样顺便说一下:
    mysql_fetch_array函数的第二个参数是说明类型的,默认是MYSQL_BOTH
    指定MYSQL_ASSOC 就相当于mysql_fetch_assoc
    指定MYSQL_NUM 就相当于mysql_fetch_row