```php
<?php
/**
* Author: Virus
* Date: 2020/3/5
* Time: 17:41
*/
namespace app\common\lib;
class Arr
{
/**
* @desc 無限極分類
* @param $data
* @return array
*/
public static function getTree($data)
{
$items = [];
foreach ($data as $v) {
$items[$v['category_id']] = $v;
}
$tree = [];
foreach ($items as $id => $item) {
if (isset($items[$item['pid']])) {
$items[$item['pid']]['list'][] = &$items[$id];
} else {
$tree[] = &$items[$id];
}
}
return $tree;
}
/**
* @desc 一級分類顯示5個,二級分類顯示3個,三級分類顯示5個
* @param $data
* @param int $firstCount
* @param int $secondCount
* @param int $thirdCount
* @return array
*/
public static function sliceTreeArr($data, $firstCount = 5, $secondCount = 3, $thirdCount = 5)
{
$data = array_slice($data, 0, $firstCount);
foreach ($data as $k => $v) {
if (!empty($v['list'])) {
$data[$k]['list'] = array_slice($v['list'], 0, $secondCount);
foreach ($v['list'] as $kk => $vv) {
if (!empty($vv['list'])) {
$data[$k]['list'][$kk]['list'] = array_slice($vv['list'], 0, $thirdCount);
}
}
}
}
return $data;
}
/**
* 分頁默認返回的數據
* @param $num
* @return array
*/
public static function getPaginateDefaultData($num)
{
$result = [
"total" => 0,
"per_page" => $num,
"current_page" => 1,
"last_page" => 0,
"data" => [],
];
return $result;
}
/**
* 數組排序
* @param $result
* @param $key
* @param int $sort
* @return array|bool
*/
public static function arrsSortByKey($result, $key, $sort = SORT_DESC)
{
if (!is_array($result) || !$key) {
return [];
}
array_multisort(array_column($result, $key), $sort, $result);
return $result;
}
}
```
- PHP獲取客戶端瀏覽器信息和版本
- PHP獲取客戶端操作系統信息
- 無限級分類
- git使用
- 權限檢測思路
- Vue學習
- 遇到的一些問題
- PHP的編碼思維和技巧
- mysql復習
- tp5
- ThinkPHP5.x 公共函數
- TP5登錄注冊
- TP5使用模板繼承
- ThinkPHP5.1 清除緩存
- thinkphp5實現安裝程序
- 安全
- tp中實現跨域代碼
- ThinkPHP5.1配合pjax實現菜單欄無刷新跳轉
- 獲取數據庫版本和數據庫大小
- 模型的基本CURD操作
- 商品spu
- 全局異常處理類
- ExceptionHandler
- BaseException
- PHP函數之error_reporting(E_ALL ^ E_NOTICE)詳細說明
- 微信小程序
- wx:for
- tp6
- 分離的一些模塊
- session開啟
- Spring
- 依賴注入
- 數據結構
- 二叉樹
- js獲取地址欄變量
- PHP設計模式
- 面向對象
- PHP1
- PHP性能優化
- Java學習
- static關鍵字
- 多態
- 接口、階乘
- 大佬給的面試題
- 訪問量為5000萬的博客系統設計
- PHP可變參數
- Nginx的配置案例
- 求數組中的最大值,并返回數組索引
- PHP面試方向
- PHP數組工具類ArrUtil
- 字符串工具類StrUtil
- PHP使用curl發送請求
- mysql
- PHP上傳base64圖片處理函數
- webstorm小程序常用配置
- 郵箱正則表達式
- leetcode mysql記錄
- 函數庫