> 백엔드 개발 > PHP 튜토리얼 > 有两个小函数有一点不懂解决思路

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

WBOY
풀어 주다: 2016-06-13 13:39:45
원래의
827명이 탐색했습니다.

有两个小函数有一点不懂
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 当结果不等于空的时候,循环读取数据
------解决方案--------------------
一楼说的很详细
------解决方案--------------------
一楼说的很详细
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿