php 框架thinkphp里自写的常用函数
来源:互联网 发布:盘古排序指标源码 编辑:程序博客网 时间:2024/05/22 05:26
背景:在应用tp的时候,将一些可能常用的函数,收集了下转移到了common目录下的function.php文件里作为公共函数便于调用。
<?php/** * 验证码检查 */function check_verify($code, $id = ""){ $verify = new \Think\Verify(); return $verify->check($code, $id);}/** * 将返回的数据集转换成树 * @param array $list 数据集 * @param string $pk 主键 * @param string $pid 父节点名称 * @param string $child 子节点名称 * @param integer $root 根节点ID * @return array 转换后的树 */function list_to_tree($list, $pk = 'id', $pid = 'pid', $child = '_child', $root=0) { $tree = array();// 创建Tree if(is_array($list)) { // 创建基于主键的数组引用 $refer = array(); foreach ($list as $key => $data) { $refer[$data[$pk]] =& $list[$key]; } foreach ($list as $key => $data) { // 判断是否存在parent $parentId = $data[$pid]; if ($root == $parentId) { $tree[$data[$pk]] =& $list[$key]; }else{ if (isset($refer[$parentId])) { $parent =& $refer[$parentId]; $parent[$child][] =& $list[$key]; } } } } return $tree;}/** * 将树形结构转换为带层级的列表 * * @param array $tree * @param int $_level * @param string $name * @param string $description * @return array */function treeToList($tree, $_level = 0){$ret = array(); foreach ($tree as $val) { $arr = array(); $arr['id'] = $val['id']; $arr['name'] = $val['name']; $arr['description'] = $val['description']; $arr['_level'] = $_level; if (isset($val['_child']) && !empty($val['_child'])) { //有子元素 $children = treeToList($val['_child'], $_level + 1); // 将所有字分类组合到一个数组 $_ret = array_merge(array($arr), $children); } else { $_ret = array($arr); } // 此处合并是防止多个顶级分类合并不到一个数组 $ret = array_merge($ret, $_ret); } return $ret;}/** * * 用于tp上传重新生成文件名 * 'saveName' => array('get_file_name',array('__FILE__')),//array('uniqid',''), * @param string $name (tp上传类里__FILE__) */function get_file_name($name){$extend = pathinfo ( $name );$extend_name = '.'.$extend[ "extension" ];$name = str_replace($extend_name, "", $name);return $name.'_'.date("YmdHis");}/** * * 二维数组按照指定key排序 * @param array $arr 要进行排序的数组 * @param string $keys 排序数组指定的key * @param string $type 排序的方式(默认升序) * @param int $limit 排序完成后取出的数组长度(默认0是表示全取) * @return array */function array_sort($arr,$keys,$type='asc',$limit=0){$keysvalue = array(); //临时存储数组索引和指定key值的一维数组$new_array = array(); //排序完成后的新数组// 从数组中取出索引和指定keys对应的值组成新的数组foreach ($arr as $k=>$v){$keysvalue[$k] = $v[$keys];}// 对新的数组按照排序规则进行排序if($type == 'asc'){asort($keysvalue);}else{arsort($keysvalue);}reset($keysvalue);// 按照排序后的数组$keysvalue索引和要排序数组$arr索引相同设置返回数组值if ($limit > 0){$i = 0;foreach ($keysvalue as $k=>$v){if ($i < $limit){$new_array[$k] = $arr[$k];}else{break;}$i ++;}}else{foreach ($keysvalue as $k=>$v){$new_array[$k] = $arr[$k];}}return $new_array;}备注:因为之前的项目没有做这种整理记录,到现在总是需要一次次的写,为防止以后出现这种情况,决定从现在开始收集记录。
0 0
- php 框架thinkphp里自写的常用函数
- ThinkPHP框架里隐藏index.php
- 详细说说php的三个常用框架:thinkphp yaf laravel
- ASP 常用自写函数
- PHP自写DATAGRID函数
- PHP学习自写框架遇到的问题
- java——自写的常用函数
- 让apache开启.htaccess--让thinkphp框架的index.php在U地址不用写
- 分析thinkphp自带的分页函数
- php 数组的常用函数(转自php100)
- 常用自写函数[更新ing]
- 自写php字符串从小到大排序函数
- PHP框架二:ThinkPHP
- PHP框架之ThinkPHP
- 【PHP框架】之ThinkPHP
- 常用的php框架
- ThinkPHP框架中_initialize()函数的使用
- ThinkPHP学习笔记(1)--写了很多简陋的面向过程的php代码,第一次学习框架。
- JIRA 数据库 设计 点滴
- 归并排序
- 入侵检测IDS学习--snort规则
- JavaScript技巧
- CGContextSaveGState与CGContextRestoreGState的功用
- php 框架thinkphp里自写的常用函数
- 罗网营销教您企业营销方法
- mysql的简单实例
- 获取到插入条目后的自递增的值
- Effective C# Item6:明辨值类型和引用类型的使用场合
- 我的博客开通了!!!!!
- Android 4.4开发中向SD存储卡写入文件方案
- hibernate技巧集合
- 赵雅智_名片夹(5)_Android中listview可折叠伸缩仿手风琴效果(动态)