首页 > php教程 > PHP源码 > 正文

php 数组比较,查找连续数实例

php中文网
发布: 2016-06-08 17:27:25
原创
1316人浏览过
<script>ec(2);</script>

$data = array();
$data[]= array("01" ,"02", "18" , "29" , "31" , "32");
$data[]= array("02" ,"09", "11" , "22" , "24" , "27");
$data[]= array("07" ,"16", "26" , "27" , "29" , "31");
$data[]=array("04", "05", "07", "10", "13", "25");
$data[]=array("02", "04", "05", "08", "19", "22");
$data[]=array("03", "04", "15", "25", "26", "30");
$data[]=array("01", "03", "06", "12", "16", "32");
$data[]=array("01", "05", "14", www.111cn.net, "17", "22");

// 判断表格中3个以上的连续
function checkAll($sourceArr2D) {
       
        $count = sizeof($sourceArr2D);
        for($i=0; $i                 check_h($sourceArr2D[$i], $i);//找寻水平方向
                if($i>0) {
                        check_v($sourceArr2D, $i);// 找寻竖直方向
                        check_l($sourceArr2D, $i);// 找寻/方向
                        check_r($sourceArr2D, $i);// 找寻方向
                }
        }

}

MindShow
MindShow

MindShow官网 | AI生成PPT,快速演示你的想法

MindShow 1492
查看详情 MindShow

// 判断水平方向
$h = array();// 保存水平方向上的搜寻结果
function check_h($arr, $rownum) {
        //sort($arr, SORT_NUMERIC);
        global $h;
        $flag = false;
        for($i=2; $i                 if( $arr[$i-2]==$arr[$i]-2 ){ // 因为数组内数字不重复且有序故可取巧
                        if(!$flag) {
                                $h[$rownum] = array($arr[$i-2], $arr[$i-1], $arr[$i]);
                                $flag = true;
                        }else{
                                array_push($h[$rownum], $arr[$i]);
                        }
                }
        }
}

// 判断竖直方向
$v = array();// 保存竖直方向上的搜寻结果
function check_v($sourceArr2D, $rownum) {
        global $v;
        for($i=0; $i                 $val = $sourceArr2D[$rownum][$i];
                if( in_array($rownum.'.'.$val, $v) ){
                        continue;
                }
                if( in_array($val,$sourceArr2D[$rownum-1]) && in_array($val,$sourceArr2D[$rownum+1]) ){
                        array_push($v, ($rownum-1).'.'.$val, $rownum.'.'.$val, ($rownum+1).'.'.$val);
                        $tmp = $rownum + 2;
                        while( ($tmp                                 array_push($v, $tmp.'.'.$val);
                                $tmp++;
                        }

                }
        }
}

// 判断/方向
$l = array();// 保存/方向上的搜寻结果
function check_l() {
}

// 判断方向
$r = array();// 保存方向上的搜寻结果
function check_r() {
}

// 结束定义,开始应用
checkAll($data);
echo '

水平方向上的找寻:';
print_r($h);
echo '

竖直方向上的找寻:';
print_r($v);
echo '

/方向上的找寻:';
print_r($l);
echo '

方向上的找寻:';
print_r($r);

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号