thinkphp的select和find的区别

 我来答
DJ喜羊羊呀
2016-03-09 · TA获得超过1027个赞
知道小有建树答主
回答量:509
采纳率:66%
帮助的人:205万
展开全部
ThinkPHP find() 方法是和 select() 用法类似的一个方法,不同之处 find() 查询出来的始终只有一条数据,即系统自动加上了 LIMIT 1 限制。
select()返回所有结果类似findall(),不过select()返回二维数组,findall()返回一维数组。
select和模板的volist标签配合使用~
雨过天晴日丶
2016-03-09 · TA获得超过2636个赞
知道大有可为答主
回答量:1879
采纳率:91%
帮助的人:1668万
展开全部
thinkphp是比较好的php开发框架,能比较快速的开发MVC架构的管理系统,我们需要用到 select()和find()方法,两个方法都能返回数据集数组,但有什么不同呢?先看一下我的代码对比:
[php] view plaincopy
$tech=M('techlevel','HR_CS_','DB_CONFIG2');
$Data=$tech->where('id=1')->find();
dump($Data);
$Data=$tech->where('id=1')->select();
dump($Data);

结果
[php] view plaincopy
array(6) {
["ID"] => int(1)
["TechLevel"] => string(2) "10"
["Remark"] => string(4) "��"
["CreateDate"] => string(19) "2013-03-14 15:14:38"
["CreateBy"] => string(5) "admin"
["ROW_NUMBER"] => string(1) "1"
}

array(1) {
[0] => array(6) {
["ID"] => int(1)
["TechLevel"] => string(2) "10"
["Remark"] => string(4) "��"
["CreateDate"] => string(19) "2013-03-14 15:14:38"
["CreateBy"] => string(5) "admin"
["ROW_NUMBER"] => string(1) "1"
}
}

从上面的代码可以看出,find()返回一个一维数组,select()返回一个二维数组,所以在取值时有所不同,一维数组取值用$data["TechLevel"],二维数组取值用$data[0]["TechLevel"],由于一开始没了解这个用法,调试一天也取不值,最后有dump方法才看到两个方法的不同所在!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8f71817
2016-03-09
知道答主
回答量:18
采纳率:0%
帮助的人:11.3万
展开全部
select()结果是二维数组 find的结果是一维数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式