一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - tp5.1 框架數據庫-數據集操作實例分析

tp5.1 框架數據庫-數據集操作實例分析

2020-06-18 12:17人生如初見_張默 PHP教程

這篇文章主要介紹了tp5.1 框架數據庫-數據集操作,結合實例形式分析了tp5.1 框架數據庫查詢結果數據集獲取、遍歷相關操作技巧與使用注意事項,需要的朋友可以參考下

本文實例講述了tp5.1 框架數據庫-數據集操作。分享給大家供大家參考,具體如下:

數據庫的查詢結果也就是數據集,默認的配置下,數據集的類型是一個二維數組,我們可以配置成數據集類,就可以支持對數據集更多的對象化操作,需要使用數據集類功能,可以配置數據庫的resultset_type參數如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
return [
  // 數據庫類型
  'type'    => 'mysql',
  // 數據庫連接DSN配置
  'dsn'     => '',
  // 服務器地址
  'hostname'  => '127.0.0.1',
  // 數據庫名
  'database'  => 'thinkphp',
  // 數據庫用戶名
  'username'  => 'root',
  // 數據庫密碼
  'password'  => '',
  // 數據庫連接端口
  'hostport'  => '',
  // 數據庫連接參數
  'params'   => [],
  // 數據庫編碼默認采用utf8
  'charset'   => 'utf8',
  // 數據庫表前綴
  'prefix'   => 'think_',
  // 數據集返回類型
  'resultset_type' => 'collection',
];

返回的數據集對象是think\Collection,提供了和數組無差別用法,并且另外封裝了一些額外的方法。

在模型中進行數據集查詢,全部返回數據集對象,但使用的是think\model\Collection類,但用法是一致的。

可以直接使用數組的方式操作數據集對象,例如:

?
1
2
3
4
5
6
7
8
9
10
11
// 獲取數據集
$users = Db::name('user')->select();
// 直接操作第一個元素
$item = $users[0];
// 獲取數據集記錄數
$count = count($users);
// 遍歷數據集
foreach($users as $user){
  echo $user['name'];
  echo $user['id'];
}

V5.1.23+版本開始,你可以在查詢的時候指定是否需要返回數據集(無需配置resultset_type參數)

?
1
2
3
4
5
6
7
8
9
10
11
// 獲取數據集
$users = Db::name('user')->fetchCollection()->select();
// 直接操作第一個元素
$item = $users[0];
// 獲取數據集記錄數
$count = count($users);
// 遍歷數據集
foreach($users as $user){
  echo $user['name'];
  echo $user['id'];
}

V5.1.24+版本開始,fetchCollection方法支持傳入使用的集合類名稱。

需要注意的是,如果要判斷數據集是否為空,不能直接使用empty判斷,而必須使用數據集對象的isEmpty方法判斷,例如:

?
1
2
3
4
$users = Db::name('user')->select();
if($users->isEmpty()){
  echo '數據集為空';
}

Collection類包含了下列主要方法:

方法 描述
isEmpty 是否為空
toArray 轉換為數組
all 所有數據
merge 合并其它數據
diff 比較數組,返回差集
flip 交換數據中的鍵和值
intersect 比較數組,返回交集
keys 返回數據中的所有鍵名
pop 刪除數據中的最后一個元素
shift 刪除數據中的第一個元素
unshift 在數據開頭插入一個元素
reduce 通過使用用戶自定義函數,以字符串返回數組
reverse 數據倒序重排
chunk 數據分隔為多個數據塊
each 給數據的每個元素執行回調
filter 用回調函數過濾數據中的元素
column 返回數據中的指定列
sort 對數據排序
shuffle 將數據打亂
slice 截取數據中的一部分


希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

原文鏈接:https://blog.csdn.net/qq_42176520/article/details/88708998

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧洲喷浆乌克兰 | 国产成人精品午夜视频' | 午夜在线观看免费完整直播网页 | 国产午夜精品一区二区三区不卡 | 日本精品欧洲www | 国四虎影永久 | www.九九 | 狠狠色| 欧美性色黄大片四虎影视 | 黄a 大片a v 永久免费 | www.亚洲天堂| 四缺一写的小说 | 国产全部视频 | 175m美女被网友灌醉啪啪玩脚 | 日本日日黄 | 久久久精品日本一区二区三区 | 肥奶丰熟肥妇 | 9966国产精品视频 | 亚洲精品私拍国产福利在线 | 欧美日本一本线在线观看 | 欧美色fx性乌克兰 | 毛片啪啪视频 | 调教麻麻成贱m | 免费在线看a | 日本午夜大片免费观看视频 | 国产尤物视频 | 按摩师他揉我奶好爽捏我奶 | 国产香蕉97碰碰久久人人 | 日日操日日 | 色色色色网站 | 国产精品九九免费视频 | 美女模特被c免费视频 | 日本黄色高清视频网站 | 午夜影院小视频 | 亚洲骚图 | 亚洲 欧美 中文字幕 在线 | 欧美性xxxxxx爱 | 久久久久久久99精品免费观看 | 我的年轻漂亮继坶三级 | 91在线 在线播放 | 6个老师的尿奴 |