这个里面是我写的代码,我想用foreach把查询出来的数据转换成一维数组,我打印$myfd和$ret都是打印出的全部数据,但是打印$V就只能打印一条数据,请问这是怎么回事?我用的thinkphp框架

解决方案 »

  1.   

    跟框架没关系,foreach中每次都把值赋给$v.下一次赋值把上一次的覆盖了。
      

  2.   

    手册中看一下formeach 的介绍用法就明白了
      

  3.   

    不用转换   把 ->select() 改成 ->find()
      

  4.   

    array_push 函数应该能用得上
      

  5.   

    但是打印$V就只能打印一条数据,请问这是怎么回事每次foreach 都会把当前纪录写入$v,所以覆盖,你要多条纪录,直接使用$ret就好了。
      

  6.   

    打印下$myfd看看是什么,很有可能是你查询数据库的时候用了where条件,条件里面的uid是唯一的,所以只能查到一条数据
      

  7.   

    print_r($ret);
      

  8.   

    每次foreach 都会把当前纪录写入$v,所以覆盖,你要多条纪录,直接使用$ret就好了