合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
# 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; } ~~~