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 相关文章推荐
10个可以简化php开发过程的MySQL工具
Apr 11 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
Jun 21 PHP
浅析echo(),print(),print_r(),return之间的区别
Nov 27 PHP
php统计时间和内存使用情况示例分享
Mar 13 PHP
php实现图片添加描边字和马赛克的方法
Dec 10 PHP
ThinkPHP 404页面的设置方法
Jan 14 PHP
php开发中的页面跳转方法总结
Apr 26 PHP
PHP list() 将数组中的值赋给变量的简单实例
Jun 13 PHP
Yii2主题(Theme)用法详解
Jul 23 PHP
PHP实现带重试功能的curl连接示例
Jul 28 PHP
PHP实现通过strace定位故障原因的方法
Apr 29 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
Oct 30 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
phpmyadmin的#1251问题
2006/11/25 PHP
PHP中函数rand和mt_rand的区别比较
2012/12/26 PHP
PHP编写登录验证码功能 附调用方法
2016/05/19 PHP
详解PHP归并排序的实现
2016/10/18 PHP
php获取当前月与上个月月初及月末时间戳的方法
2016/12/05 PHP
ThinkPHP 3.2.2实现事务操作的方法
2017/05/05 PHP
javascript中的对象和数组的应用技巧
2007/01/07 Javascript
javascript一些不错的函数脚本代码
2008/09/10 Javascript
js word表格动态添加代码
2010/06/07 Javascript
jQuery与其它库冲突的解决方法
2010/06/25 Javascript
JavaScript中的迭代器和生成器详解
2014/10/29 Javascript
jquery实现点击展开列表同时隐藏其他列表
2015/08/10 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
基于dropdown.js实现的两款美观大气的二级导航菜单
2015/09/02 Javascript
Bootstrap 源代码分析(未完待续)
2016/08/17 Javascript
常用Javascript函数与原型功能收藏(必看篇)
2016/10/09 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
es6学习之解构时应该注意的点
2017/08/29 Javascript
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
javascript实现最长公共子序列实例代码
2018/02/05 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
2018/10/28 Javascript
关于Vue源码vm.$watch()内部原理详解
2019/04/26 Javascript
Python判断列表是否已排序的各种方法及其性能分析
2016/06/20 Python
python 获取url中的参数列表实例
2018/12/18 Python
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
python 比较2张图片的相似度的方法示例
2019/12/18 Python
python实现逢七拍腿小游戏的思路详解
2020/05/26 Python
巴西葡萄酒销售网站:Wine.com.br
2017/11/07 全球购物
海滩咖啡馆:Beach Cafe
2018/02/02 全球购物
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
豪华床上用品 :Jennifer Adams
2019/09/15 全球购物
学生检讨书范文
2015/01/27 职场文书
信用卡催款律师函
2015/05/27 职场文书
十个Python自动化常用操作,即拿即用
2021/05/10 Python
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python
Python函数对象与闭包函数
2022/04/13 Python