php 框架thinkphp里自写的常用函数
2014-07-24 10:54
309 查看
背景:在应用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; }备注:因为之前的项目没有做这种整理记录,到现在总是需要一次次的写,为防止以后出现这种情况,决定从现在开始收集记录。
相关文章推荐
- PHP--ThinkPhp框架学习---常用CRUD方法
- 详细说说php的三个常用框架:thinkphp yaf laravel
- 用ThinkPHP框架遇到的狗血bug:包含common.php时报函数重复声明的错误。
- ThinkPHP中Common/common.php文件常用函数功能分析
- php 自定义框架常用函数
- MFC 框架、文档、视图操作常用函数用法简析
- PHP 框架,第 1 部分: 开始使用三种常用框架(Zend、symfony、CakePHP)
- PHP 中英文混合排版中处理字符串常用的函数
- PHP 中英文混合排版中处理字符串常用的函数
- PHP常用四个针对php.ini的函数
- 收藏PHP常用函数
- php常用函数总结
- php学习笔记--php常用函数及其应用(未完成)
- php常用函数
- PHP 框架,第 1 部分: 开始使用三种常用框架
- php中session常用函数
- PHP 框架,第 1 部分: 开始使用三种常用框架
- PHP 中英文混合排版中处理字符串常用的函数
- 基于php常用函数总结(数组,字符串,时间,文件操作)
- PHP 下与几个常用数据库的操作函数