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 相关文章推荐
一个取得文件扩展名的函数
Oct 09 PHP
一个简单实现多条件查询的例子
Oct 09 PHP
生成php程序的php代码
Apr 07 PHP
PHP 表单提交给自己
Jul 24 PHP
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
Oct 22 PHP
php设计模式 DAO(数据访问对象模式)
Jun 26 PHP
调整优化您的LAMP应用程序的5种简单方法
Jun 26 PHP
判断PHP数组是否为空的代码
Sep 08 PHP
php分页思路以及在ZF中的使用
May 30 PHP
使用php判断网页是否gzip压缩
Jun 25 PHP
php函数重载的替代方法--伪重载详解
May 08 PHP
php反射学习之依赖注入示例
Jun 14 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中文验证码实现方法
2015/06/18 PHP
PHP中的流(streams)浅析
2015/07/02 PHP
js 覆盖和重载 函数
2009/09/25 Javascript
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
javascript数组去掉重复
2011/05/12 Javascript
js遍历td tr等html元素
2012/12/13 Javascript
JSONP跨域的原理解析及其实现介绍
2014/03/22 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
Javascript基础_简单比较undefined和null 值
2016/06/14 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
JavaScript编写一个简易购物车功能
2016/09/17 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
Javasript设计模式之链式调用详解
2018/04/26 Javascript
vue本地打开build后生成的dist文件夹index.html问题
2019/09/04 Javascript
JQuery实现折叠式菜单的详细代码
2020/06/03 jQuery
在vue中created、mounted等方法使用小结
2020/07/21 Javascript
[03:59]DOTA2英雄梦之声_第07期_水晶室女
2014/06/23 DOTA
Python操作MySQL简单实现方法
2015/01/26 Python
python通过文件头判断文件类型
2015/10/30 Python
基于python OpenCV实现动态人脸检测
2018/05/25 Python
python实现windows下文件备份脚本
2018/05/27 Python
python3利用ctypes传入一个字符串类型的列表方法
2019/02/12 Python
基于python二叉树的构造和打印例子
2019/08/09 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
2020/06/08 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
BLACKMORES澳洲官网:澳大利亚排名第一的保健品牌
2018/09/27 全球购物
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
OSPF有什么优点?为什么OSPF比RIP收敛快?
2013/02/13 面试题
在校生汽车维修实习自我鉴定
2013/09/19 职场文书
应届电子商务毕业自荐书范文
2014/02/11 职场文书
护理专科毕业生自荐书范文
2014/02/19 职场文书
党员弘扬焦裕禄精神思想汇报
2014/09/10 职场文书
新兵入伍决心书
2015/09/22 职场文书
CSS实现九宫格布局(自适应)的示例代码
2022/02/12 HTML / CSS