1.function GetFileList($model,$slevel)
{
$arr = array();
$sql="select * from boxfile
where model = '$model' and slevel > $slevel
order by slevel asc";
//die($sql);
$rs = $this->db->Execute($sql);
if($rs==true)
{
while (!$rs->EOF)
{
$arr[]=$rs->fields;
    $rs->MoveNext(); 
}
}
return $arr;
} 之前都还好   就是while那里的EOF有点懵  另外  还有fields是什么意思   将字段当成数组的值写入么?2. function AddGetParams($arr)
{
$str = '';

foreach($arr as $k => $v)
$str .= $k .':'. $v .'|';

$str .=  'ip:'. $_SERVER['REMOTE_ADDR'];

$sql = "insert into test(name) values('$str')";    

$this->db->Execute($sql);  

}其中foreach里面不明白  $k=>$v 是一个形式是么?  下面的$str .= $k .':'. $v .'|';什么意思。我知道是将ip插入到数据库中  但是不明白其过程 
希望朋友帮忙讲一下  谢谢

解决方案 »

  1.   

    EOF是测试是否到了末尾,如果是的话就为True,如果不是的话就False,你把EOF换成False来想的话,
    !False  就成了  True,还没到末尾的时候就会这样,导致!运算成True达成循环条件继续循环执行
    ----------
    $k=>$v 方面$k是取了数组的键名,$v就取了数组的键值
    你要看看关于foreach遍历数组的方法
      

  2.   

    $k=>$v 是一个形式是么? 下面的$str .= $k .':'. $v .'|';什么意思--------------------------- $k=>$v 是hash ".=" 是累加字符串"."是相当于"+" !$rs->EOF 当结果不等于空的时候,循环读取数据
      

  3.   

    谢  我在好好看看foreach
      

  4.   

    请问$arr[]=$rs->fields;   在问题1中 这个fields怎么讲  将字段当值写进数组?