# Common公共函数
thinkphp6将公共的函数放在app下的common.php文件下。
比如常用的数组与字符串转化,数组转化成树状结构等等
~~~
/**
* 将list_to_tree的树还原成列表
*
* @param array $tree
* 原来的树
* @param string $child
* 孩子节点的键
* @param string $order
* 排序显示的键,一般是主键 升序排列
* @param array $list
* 过渡用的中间数组,
* @return array 返回排过序的列表数组
*/
function tree_to_list($tree, $child = '_child', $order = 'id', &$list = array ())
{
if (is_array($tree)) {
foreach ($tree as $key => $value) {
$reffer = $value;
if (isset($reffer[ $child ])) {
unset($reffer[ $child ]);
tree_to_list($value[ $child ], $child, $order, $list);
}
$list[] = $reffer;
}
$list = list_sort_by($list, $order, $sortby = 'asc');
}
return $list;
}
/**
* 对查询结果集进行排序
*
* @access public
* @param array $list
* 查询结果
* @param string $field
* 排序的字段名
* @param array $sortby
* 排序类型
* asc正向排序 desc逆向排序 nat自然排序
* @return array
*/
function list_sort_by($list, $field, $sortby = 'asc')
{
if (is_array($list)) {
$refer = $resultSet = array ();
foreach ($list as $i => $data)
$refer[ $i ] = &$data[ $field ];
switch ( $sortby ) {
case 'asc': // 正向排序
asort($refer);
break;
case 'desc': // 逆向排序
arsort($refer);
break;
case 'nat': // 自然排序
natcasesort($refer);
break;
}
foreach ($refer as $key => $val)
$resultSet[] = &$list[ $key ];
return $resultSet;
}
return false;
}
/**
* 对象转化为数组
* @param object $obj
*/
function object_to_array($obj)
{
if (is_object($obj)) {
$obj = (array) $obj;
}
if (is_array($obj)) {
foreach ($obj as $key => $value) {
$obj[ $key ] = object_to_array($value);
}
}
return $obj;
}
~~~
- 序言
- 安装教程
- 运行环境
- 安装手册
- 基础
- 前期准备
- 伪静态配置
- 后台目录结构
- uniapp(手机端)目录结构
- 开发命名规范
- 控制器命名规范
- model层命名规范
- 前端(管理页面)命名规范
- 提示面板
- 表单
- uniapp(手机端)命名规范
- api接口命名规范
- 架构
- 入口文件
- config设置
- app应用目录
- component(自定义模板组件)
- model层(数据业务层)
- 数据库操作
- job(消息队列)
- event(事件)
- request(请求对象)
- common(公共函数)
- log(日志处理)
- lang(语言包)
- addon插件
- 数据字典
- 系统基础表
- 配送相关表
- 商品相关表
- 网站设置相关
- 会员相关表
- 订单相关表
- 营销(组合套餐)
- 营销(砍价)
- 营销(优惠券)
- 营销(满减)
- 营销(拼团)
- 营销(秒杀)
- 店铺相关表
- 微信相关表
- 门店相关表
- 结算相关表
- 应用(分销)
- 功能模块
- 商品模块
- 会员模块
- 订单模块
- 数据统计
- 消息队列
- 支付模块
- 短信模块
- 客服
- api接口
- 接口开发
- 插件开发
- 事件开发
- 常用事件
- 插件目录与开发
- 常用插件
- 支付插件
- 拼团插件
- 新人礼