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随机数生成代码与使用实例分析
Apr 08 PHP
php中神奇的fastcgi_finish_request
May 02 PHP
用PHP实现Ftp用户的在线管理
Feb 16 PHP
用PHP+MySQL搭建聊天室功能实例代码
Aug 20 PHP
php获取QQ头像并显示的方法
Dec 23 PHP
PHP生成器简单实例
May 13 PHP
php判断表是否存在的方法
Jun 18 PHP
PHP 数组遍历foreach语法结构及实例
Jun 13 PHP
php基于dom实现读取图书xml格式数据的方法
Feb 03 PHP
PHP实现的贪婪算法实例
Oct 17 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
May 09 PHP
phpStorm2020 注册码
Sep 17 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
php分页函数
2006/07/08 PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
2011/12/16 PHP
php递归创建和删除文件夹的代码小结
2012/04/13 PHP
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
2014/06/19 PHP
php实现爬取和分析知乎用户数据
2016/01/26 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
FireFox中textNode分片的问题
2007/04/10 Javascript
javascript 自动填写表单的实现方法
2010/04/09 Javascript
仿新浪微博返回顶部的jquery实现代码
2012/10/01 Javascript
简单分析javascript面向对象与原型
2015/05/21 Javascript
通过node-mysql搭建Windows+Node.js+MySQL环境的教程
2016/03/01 Javascript
js实现炫酷的左右轮播图
2017/01/18 Javascript
创建一般js对象的几种方式
2017/01/19 Javascript
JS实现的Unicode编码转换操作示例
2017/04/28 Javascript
jQuery实现简单的计时器功能实例分析
2017/08/29 jQuery
详解vue中移动端自适应方案
2019/05/05 Javascript
jQuery设置下拉框显示与隐藏效果的方法分析
2019/09/15 jQuery
详解Vue之计算属性
2020/06/20 Javascript
使用PyCharm配合部署Python的Django框架的配置纪实
2015/11/19 Python
Python处理Excel文件实例代码
2017/06/20 Python
python使用matplotlib画柱状图、散点图
2019/03/18 Python
Python高级特性 切片 迭代解析
2019/08/23 Python
国际奢侈品品牌童装购物网站:Designer Childrenswear
2019/05/08 全球购物
俄罗斯有趣和原创礼物网上商店:MagicMag
2019/08/01 全球购物
建筑毕业生自我鉴定
2013/10/18 职场文书
学习自我鉴定
2014/02/01 职场文书
保证书范文大全
2014/04/28 职场文书
服务理念口号
2014/06/11 职场文书
党的群众路线教育实践活动个人对照检查材料(乡镇)
2014/11/05 职场文书
2015年高中语文教学总结
2015/08/18 职场文书
go:垃圾回收GC触发条件详解
2021/04/24 Golang
详解SpringBoot异常处理流程及原理
2021/06/21 Java/Android
logback如何自定义日志存储
2021/08/30 Java/Android
前端传参数进行Mybatis调用mysql存储过程执行返回值详解
2022/08/14 MySQL