php数组比较实现查找连续数的方法


Posted in PHP onJuly 29, 2015

本文实例讲述了php数组比较实现查找连续数的方法。分享给大家供大家参考。具体如下:

$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", "17", "22");
// 判断表格中3个以上的连续 
function checkAll($sourceArr2D) {
  $count = sizeof($sourceArr2D);
  for($i=0; $i<$count; $i++){
    check_h($sourceArr2D[$i], $i);//找寻水平方向
    if($i>0) {
      check_v($sourceArr2D, $i);// 找寻竖直方向
      check_l($sourceArr2D, $i);// 找寻/方向
      check_r($sourceArr2D, $i);// 找寻方向
    }
  }
}
// 判断水平方向
$h = array();// 保存水平方向上的搜寻结果
function check_h($arr, $rownum) {
  //sort($arr, SORT_NUMERIC);
  global $h;
  $flag = false;
  for($i=2; $i<6; $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<6; $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 < sizeof($sourceArr2D)) && in_array($val, $sourceArr2D[$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&amp;mysql(二)
Oct 09 PHP
Adodb的十个实例(清晰版)
Dec 31 PHP
Php获取金书网的书名的实现代码
Jun 11 PHP
PHP同时连接多个mysql数据库示例代码
Mar 17 PHP
php构造函数的继承方法
Feb 09 PHP
php实现读取内存顺序号
Mar 29 PHP
PHP中大括号'{}'用法实例总结
Feb 08 PHP
PHP设计模式之建造者模式定义与用法简单示例
Aug 13 PHP
PHP实现的日历功能示例
Sep 01 PHP
详解json在php中的应用
Sep 30 PHP
Laravel框架模型的创建及模型对数据操作示例
May 07 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
May 02 PHP
PHP实现XML与数据格式进行转换类实例
Jul 29 #PHP
PHP获取某个月最大天数(最后一天)的方法
Jul 29 #PHP
discuz图片顺序混乱解决方案
Jul 29 #PHP
php计算title标题相似比的方法
Jul 29 #PHP
PHP实现简单实用的验证码类
Jul 29 #PHP
php使用gzip压缩传输js和css文件的方法
Jul 29 #PHP
PHP实现加强版加密解密类实例
Jul 29 #PHP
You might like
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
PHP保留两位小数并且四舍五入及不四舍五入的方法
2013/09/22 PHP
PHP面向对象详解(三)
2015/12/07 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
2017/03/15 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
js 火狐下取本地路径实现思路
2013/04/02 Javascript
给应用部分的js代码设定一个统一的入口
2014/06/15 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
2016/03/25 Javascript
AngularJS入门教程之Scope(作用域)
2016/07/27 Javascript
js图片上传前预览功能(兼容所有浏览器)
2016/08/24 Javascript
浅析上传头像示例及其注意事项
2016/12/14 Javascript
老生常谈js中的MVC
2017/07/25 Javascript
zTree jQuery 树插件的使用(实例讲解)
2017/09/25 jQuery
Vue SPA单页应用首屏优化实践
2018/06/28 Javascript
vue.js中proxyTable 转发请求的实现方法
2018/09/20 Javascript
Angular如何由模板生成DOM树的方法
2019/12/23 Javascript
解决vue.js中settimeout遇到的问题(时间参数短效果不稳定)
2020/07/21 Javascript
介绍Python中的一些高级编程技巧
2015/04/02 Python
在python中使用正则表达式查找可嵌套字符串组
2017/10/24 Python
Python 查看文件的读写权限方法
2018/01/23 Python
Flask框架工厂函数用法实例分析
2019/05/25 Python
Python MySQLdb 执行sql语句时的参数传递方式
2020/03/04 Python
pygame实现弹球游戏
2020/04/14 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
简单了解Python变量作用域正确使用方法
2020/06/12 Python
CSS3系列之3D制作方法案例
2017/08/14 HTML / CSS
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
Michael Kors澳大利亚官网:世界知名的奢侈饰品和成衣设计师
2020/02/13 全球购物
thinkphp5 redis缓存新增方法实例讲解
2021/03/24 PHP
外贸业务员求职信范文
2013/12/12 职场文书
质量月活动总结
2014/08/26 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
卖房授权委托书样本
2014/10/05 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
一篇带你入门Java垃圾回收器
2021/06/16 Java/Android