/** * 递归排序 * @author 罗江涛 * @DateTime 2016-02-29T15:28:56+0800 * @param [type] $arr [传入树状数组] * @return [type] [返回排序好的数组] */ function resortPermissions($array, $parentId = 0, $level = 0) { $new_array = array(); foreach ($array as $key => $value) { if ($value['parentId'] == $parentId) { $value['html'] = str_repeat(' |-', $level); $new_array[] = $value; $new_array = array_merge($new_array, resortPermissions($array, $value['permissionsId'], $level + 1)); } } return $new_array; }
/** * 权限节点列表 * @author 罗江涛 * @DateTime 2016-01-12T15:18:22+0800 */ public function permissionsList() { $permissionsId = I('permissionsId'); $keyword = I('keyword'); //这个是为了防止搜索条件都为空的情况 $where = "1=1 "; //如果传有关键字,找出标题,摘要,内容 if ($keyword) { $where .= " AND (permissionsName LIKE '%{$keyword}%' or chineseName LIKE '%{$keyword}%')"; } //定义数据模型 $db = M("permissions"); $permissions = $db->where($where)->select(); // 如果输入了关键字,则不进行排序 if (!$keyword) { $permissions = resortPermissions($permissions); } // 分配变量 $this->assign("permissions", $permissions); $this->display(); }