博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
封装获取连续数字的拼接
阅读量:6292 次
发布时间:2019-06-22

本文共 1430 字,大约阅读时间需要 4 分钟。

/*     * 获取连续数字拼接     * $arr = array(            'dev' => array(1, 2, 3, 4, 10, 20, 21, 22),            'dev2' => array(1, 2, 3, 50),            'dev3' => array(1)        );    *结果:            [dev] => devs1-2        [dev2] => dev2s1    */    public function getContinuouStr($arr){        $ret = array();        foreach ($arr as $agent => $server_arr) {            $count = count($server_arr);    //个数            $start = $server_arr[0];    //连续段的起始值            $pre = $start;  //上一个数            $_ret = array();            $_ret = array($start => 0);            for($i = 1; $i < $count; $i ++) {                $cur = $server_arr[$i];                if($cur - $pre == 1) {  //是连续                    $_ret[$start] = $cur;                } else {    //不连续                    $start = $cur;                    $_ret[$start] = 0;                }                $pre = $cur;            }            $ret[$agent] = $_ret;        }         $ret2 = array();        foreach ($ret as $agent => $server_arr) {            $str = '';            foreach ($server_arr as $k => $val) {                if($val > 0) {                    $str .= $agent . 's' . $k . '-' . $val . '&';                } else {                    $str .= $agent . 's' . $k . '&';                }            }            $str = rtrim($str, '&');            $ret2[$agent] = $str;        }         return $ret2;    }

 

转载于:https://www.cnblogs.com/lonmyblog/p/8305156.html

你可能感兴趣的文章
AppScan使用
查看>>
Java NIO框架Netty教程(三) 字符串消息收发(转)
查看>>
Ucenter 会员同步登录通讯原理
查看>>
php--------获取当前时间、时间戳
查看>>
Spring MVC中文文档翻译发布
查看>>
docker centos环境部署tomcat
查看>>
JavaScript 基础(九): 条件 语句
查看>>
Linux系统固定IP配置
查看>>
配置Quartz
查看>>
Linux 线程实现机制分析
查看>>
继承自ActionBarActivity的activity的activity theme问题
查看>>
设计模式01:简单工厂模式
查看>>
项目经理笔记一
查看>>
Hibernate一对一外键双向关联
查看>>
mac pro 入手,php环境配置总结
查看>>
MyBatis-Plus | 最简单的查询操作教程(Lambda)
查看>>
rpmfusion 的国内大学 NEU 源配置
查看>>
spring jpa 配置详解
查看>>
IOE,为什么去IOE?
查看>>
Storm中的Worker
查看>>