多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
:-: ![](https://box.kancloud.cn/f78a0461cdb0d757d4685007de6635ae_400x300.png) [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` **运行结果如下:** ![](https://box.kancloud.cn/3a78789fa5acf2b9863c5f1eed3839b5_759x766.png) ## 数组操作包 安装了数据迁移包以后, 还会去安装一下数组操作包,这个是纯属打广告。 **安装:** `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() 产生一个关联数组`