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开发不能违背的安全规则 过滤用户输入
May 01 PHP
hadoop常见错误以及处理方法详解
Jun 19 PHP
php缩小png图片不损失透明色的解决方法
Dec 25 PHP
PHP获取文件夹内文件数的方法
Mar 12 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
Mar 26 PHP
使用PHPExcel操作Excel用法实例分析
Mar 26 PHP
Yii2.0高级框架数据库增删改查的一些操作
Nov 16 PHP
PHP实现的解汉诺塔问题算法示例
Aug 06 PHP
Laravel 关联模型-关联新增和关联更新的方法
Oct 10 PHP
php实现JWT验证的实例教程
Nov 26 PHP
PHP执行系统命令函数实例讲解
Mar 03 PHP
PHP实现创建以太坊钱包转账等功能
Apr 21 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+jQuery 注册模块开发详解
2014/10/14 PHP
Laravel 5 框架入门(一)
2015/04/09 PHP
javascript 子窗体父窗体相互传值方法
2010/05/31 Javascript
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
2010/06/25 Javascript
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
关于JavaScript的面向对象和继承有利新手学习
2013/01/11 Javascript
javascript解决innerText浏览器兼容问题思路代码
2013/05/17 Javascript
JavaScript:new 一个函数和直接调用函数的区别分析
2013/07/10 Javascript
JavaScript中的继承方式详解
2015/02/11 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
2015/05/18 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
2015/08/12 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
Angular2利用组件与指令实现图片轮播组件
2017/03/27 Javascript
Node.js利用debug模块打印出调试日志的方法
2017/04/25 Javascript
JS模拟超市简易收银台小程序代码解析
2017/08/18 Javascript
JS实现的ajax和同源策略(实例讲解)
2017/12/01 Javascript
vue项目关闭eslint校验
2018/03/21 Javascript
vscode调试node.js的实现方法
2020/03/22 Javascript
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
Python基于twisted实现简单的web服务器
2014/09/29 Python
Python操作MySQL数据库9个实用实例
2015/12/11 Python
PyQt5 QTableView设置某一列不可编辑的方法
2019/06/25 Python
Python PIL读取的图像发生自动旋转的实现方法
2019/07/05 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
python的launcher用法知识点总结
2020/08/07 Python
python计算auc的方法
2020/09/09 Python
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
2015/08/31 HTML / CSS
全球立体声:World Wide Stereo
2018/09/29 全球购物
同程旅游英文网站:LY.com
2018/11/13 全球购物
软件配置管理有什么好处
2015/04/15 面试题
委托书模板
2014/04/04 职场文书
出差报告怎么写
2014/11/06 职场文书
2014年妇委会工作总结
2014/12/10 职场文书
2014年小学辅导员工作总结
2014/12/23 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书
入门学习Go的基本语法
2021/07/07 Golang