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;java(一)
Oct 09 PHP
phpMyAdmin下载、安装和使用入门教程
May 31 PHP
使用php统计字符串中中英文字符的个数
Jun 23 PHP
php时间戳格式化显示友好的时间函数分享
Oct 21 PHP
php+xml结合Ajax实现点赞功能完整实例
Jan 30 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
Sep 23 PHP
服务器迁移php版本不同可能诱发的问题
Dec 22 PHP
PHP仿微信多图片预览上传实例代码
Sep 13 PHP
PHP类和对象相关系统函数与运算符小结
Sep 28 PHP
php传值方式和ajax的验证功能
Mar 27 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
Feb 15 PHP
phpQuery采集网页实现代码实例
Apr 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
Protoss魔法科技
2020/03/14 星际争霸
php中socket通信机制实例详解
2015/01/03 PHP
php微信开发之关注事件
2018/06/14 PHP
解决FLASH需要点击激活的代码
2006/12/20 Javascript
JavaScript Array扩展实现代码
2009/10/14 Javascript
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
解决JS浮点数运算出现Bug的方法
2013/03/12 Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
2014/01/07 Javascript
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
2014/04/03 Javascript
Javascript Object 对象学习笔记
2014/12/17 Javascript
详谈javascript中的cookie
2015/06/03 Javascript
JS判断时间段的实现代码
2017/06/14 Javascript
webpack4.x开发环境配置详解
2018/08/04 Javascript
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
vue数据操作之点击事件实现num加减功能示例
2019/01/19 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
最全vue的vue-amap使用高德地图插件画多边形范围的示例代码
2020/07/17 Javascript
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
python正则表达式之作业计算器
2016/03/18 Python
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
基于numpy.random.randn()与rand()的区别详解
2018/04/17 Python
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
Python 微信爬虫完整实例【单线程与多线程】
2019/07/06 Python
python 列表推导式使用详解
2019/08/29 Python
Python读写锁实现实现代码解析
2020/11/28 Python
德国健康生活方式网上商店:Landkaufhaus Mayer
2019/03/12 全球购物
一道SQL面试题
2012/12/31 面试题
销售人员自我评价怎么写
2013/09/19 职场文书
毕业生找工作的求职信范文
2013/12/24 职场文书
高中自我评价范文
2014/01/27 职场文书
《小池塘》教学反思
2014/02/28 职场文书
《圆明园的毁灭》教学反思
2014/02/28 职场文书
项目负责人岗位职责
2015/02/15 职场文书
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS
MySQL中IO问题的深入分析与优化
2022/04/02 MySQL