# 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接口
- 接口開發
- 插件開發
- 事件開發
- 常用事件
- 插件目錄與開發
- 常用插件
- 支付插件
- 拼團插件
- 新人禮