生活随笔
收集整理的這篇文章主要介紹了
thinkphp的select和find的区别(转)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
做普通PHP項目轉thinkphp時,字段自動完整匹配,ajax時前臺數據一直取不到,后發現是select和find返回數據集有差異,參考下面方法修改。
$this->ajaxReturn($msg[0]); select返回的是二維數組,find返回一維數組。
?
thinkphp是比較好的php開發框架,能比較快速的開發MVC架構的管理系統,我們需要用到 select()和find()方法,兩個方法都能返回數據集數組,但有什么不同呢?先看一下我的代碼對比:
[php] view plain
copy print? $tech=M('techlevel','HR_CS_','DB_CONFIG2');? $Data=$tech->where('id=1')->find();? dump($Data);? $Data=$tech->where('id=1')->select();? dump($Data);? $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 plain
copy print? 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"? ? }?}? 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方法才看到兩個方法的不同所在!
轉載于:https://www.cnblogs.com/xihong2014/p/5202215.html
總結
以上是生活随笔為你收集整理的thinkphp的select和find的区别(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。