:-: 
[TOC]
## 數據遷移包(必備)
Thinkphp5.1 原生是沒有帶數據遷移包的,需要安裝。
**安裝:**
`composer require topthink/think-migration:^2.0 `
數據遷移包所在的地址:[package](https://packagist.org/packages/topthink/think-migration)
數據遷移包源碼地址:[源碼地址](https://github.com/top-think/think-migration.git)
安裝完成以后,在命令行中運行 thinkphp 的cli **think** 就會看到多了數據遷移命令。
**運行命令:**
`php think`
**運行結果如下:**

## 數組操作包
安裝了數據遷移包以后, 還會去安裝一下數組操作包,這個是純屬打廣告。
**安裝:**
`composer require nancheng/pfinal-array:v0.2.1 `
包地址:[package](https://packagist.org/packages/nancheng/pfinal-array)
包源碼地址:[源碼地址](https://github.com/pfinalclub/pfinal-array)
**文檔和例子:**
目前包括以下方法:
* pf\_del\_val() 刪除數組中的某個值
* pf\_key\_exists() 判斷數組中是否有這個鍵
* get() 根據鍵名獲取數組中的某個值,支持點語法
* pf\_arr\_sort() 數組排序
* pf\_tree() 二級數組樹結構化(不遞歸)
* pf\_get\_tree() 多級數組結構化(不遞歸)
* pf\_array\_unique() 多維數組去重
* pf\_array\_depth() 檢測數組的維度
* pf\_encode() 數據格式轉換 支持 數組轉 'json','xml','csv','serialize'
* pf\_array\_flatten() 將多維折疊數組變為一維
* pf\_is\_list() 判斷PHP數組是否索引數組
* pf\_array\_rand\_by\_weight() 根據權重獲取隨機區間返回ID
* pf\_rand\_val() 隨機獲取數組中的元素
* pf\_rand\_weighted() 按權重 隨機返回數組的值
* pf\_array\_shuffle() 隨機打亂數組(支持多維數組)
* pf\_array\_insert() 在數組中的給定位置插入元素
* pf\_array\_diff\_both() 返回兩個數組中不同的元素
* pf\_getCloud() 返回數組的標簽云
* pf\_array\_group\_by() 按指定的鍵對數組依次分組
* pf\_array\_null() 把數組中的null轉換成空字符串
* pf\_count\_element() 統計數組中元素出現的次數
* pf\_map() 重組數組
* pf\_exists() 判斷數組中某個鍵有木有值
* pf\_save() 通過字符串表示將元素保存到數組中
* pf\_arr\_group\_by() 按指定值給數組分組
* pf\_arr\_sort\_by\_key() 按指定鍵給數組排序
* pf\_arr\_remove\_empty() 遞歸過濾多維數組中 空白字符,負值,false,null
* pf\_date\_indexed() 生成一個日期數組
* pf\_date\_assoc() 產生一個關聯數組`