Home >Backend Development >PHP Tutorial >有两个小函数有一点不懂解决思路

有两个小函数有一点不懂解决思路

WBOY
WBOYOriginal
2016-06-13 10:07:03817browse

有两个小函数有一点不懂
1.

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->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.
PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->    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插入到数据库中 但是不明白其过程 


希望朋友帮忙讲一下 谢谢

------解决方案--------------------
EOF是测试是否到了末尾,如果是的话就为True,如果不是的话就False,你把EOF换成False来想的话,
!False 就成了 True,还没到末尾的时候就会这样,导致!运算成True达成循环条件继续循环执行


----------
$k=>$v 方面$k是取了数组的键名,$v就取了数组的键值
你要看看关于foreach遍历数组的方法
------解决方案--------------------
$k=>$v 是一个形式是么? 下面的$str .= $k .':'. $v .'|';什么意思

---------------------------

 $k=>$v 是hash

 ".=" 是累加字符串"."是相当于"+"

 !$rs->EOF 当结果不等于空的时候,循环读取数据
------解决方案--------------------
一楼说的很详细
------解决方案--------------------
一楼说的很详细
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn