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者的疑难问答(1)
Oct 09 PHP
关于crontab的使用详解
Jun 24 PHP
PHP 如何利用phpexcel导入数据库
Aug 24 PHP
php旋转图片90度的方法
Nov 07 PHP
php反射应用示例
Feb 25 PHP
PHP实现对文本数据库的常用操作方法实例演示
Jul 04 PHP
php.ini中的request_order推荐设置
May 10 PHP
PHPExcel笔记, mpdf导出
May 03 PHP
yii2实现根据时间搜索的方法
May 25 PHP
php array_multisort 对数组进行排序详解及实例代码
Oct 27 PHP
thinkphp实现分页显示功能
Dec 03 PHP
基于ThinkPHP实现的日历功能实例详解
Apr 15 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的分页功能
2007/03/21 PHP
PHP 翻页 实例代码
2009/08/07 PHP
PHP简单日历实现方法
2016/07/20 PHP
关于PHP定时发送服务的解决办法
2017/04/23 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
centos7上编译安装php7以php-fpm方式连接apache
2018/11/08 PHP
greybox——不开新窗口看新的网页
2007/02/20 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
JavaScript取得WEB安全颜色列表的方法
2015/07/14 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
2016/10/14 Javascript
jQuery获取选中单选按钮radio的值
2016/12/27 Javascript
元素全屏的设置与监听实例
2017/11/28 Javascript
Vue 实现展开折叠效果的示例代码
2018/08/27 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
2019/12/26 Javascript
JavaScript数组去重实现方法小结
2020/01/17 Javascript
[01:13:18]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python selenium 三种等待方式详解(必会)
2016/09/15 Python
python数字图像处理之高级滤波代码详解
2017/11/23 Python
python实现NB-IoT模块远程控制
2018/06/20 Python
python编写简单端口扫描器
2019/09/04 Python
python脚本实现mp4中的音频提取并保存在原目录
2020/02/27 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
程序设计HTML5 Canvas API
2013/04/08 HTML / CSS
英国领先的票务代理商之一:The Ticket Factory
2019/02/09 全球购物
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
应届生自我鉴定
2013/12/11 职场文书
信用卡工作证明模板
2014/09/14 职场文书
党员个人自我剖析材料
2014/10/08 职场文书
房屋产权证明书
2014/10/15 职场文书
党员示范岗材料
2014/12/19 职场文书
介绍信模板
2015/01/31 职场文书
MySQL 百万级数据的4种查询优化方式
2021/06/07 MySQL
浅谈哪个Python库才最适合做数据可视化
2021/06/28 Python