ホームページ > バックエンド開発 > PHPチュートリアル > 有两个小函数有一点不懂解决思路

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

WBOY
リリース: 2016-06-13 10:07:03
オリジナル
816 人が閲覧しました

有两个小函数有一点不懂
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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート