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字符串截取问题
Nov 28 PHP
IStream与TStream之间的相互转换
Aug 01 PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
Mar 29 PHP
Apache中php.ini的设置方法
Feb 28 PHP
一个简单且很好用的php分页类
Oct 26 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
Dec 22 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
Sep 22 PHP
php封装的图片(缩略图)处理类完整实例
Oct 19 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
Jun 07 PHP
php获取文章内容第一张图片的方法示例
Jul 03 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
Sep 05 PHP
Laravel实现ORM带条件搜索分页
Oct 24 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
GBK的页面输出JSON格式的php函数
2010/02/16 PHP
利用PHP实现图片等比例放大和缩小的方法详解
2013/06/06 PHP
php实现指定字符串中查找子字符串的方法
2015/03/17 PHP
PHP创建多级目录的两种方法
2016/10/28 PHP
详解PHP防止直接访问.php 文件的实现方法
2017/07/28 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
laravel框架学习笔记之组件化开发实现方法
2020/02/01 PHP
JQuery中$之选择器用法介绍
2011/04/05 Javascript
JavaScript获取table中某一列的值的方法
2014/05/06 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
2016/05/28 Javascript
jQuery获取浏览器类型和版本号的方法
2016/07/05 Javascript
详解Node.js 命令行程序开发教程
2017/06/07 Javascript
手挽手带你学React之React-router4.x的使用
2019/02/14 Javascript
Vue 递归多级菜单的实例代码
2019/05/05 Javascript
微信小程序 高德地图路线规划实现过程详解
2019/08/05 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
2019/09/02 Javascript
layui(1.0.9)文件上传upload,前后端的实例代码
2019/09/26 Javascript
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
python回调函数用法实例分析
2015/05/09 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
Python中使用__new__实现单例模式并解析
2019/06/25 Python
对python 树状嵌套结构的实现思路详解
2019/08/09 Python
python读取raw binary图片并提取统计信息的实例
2020/01/09 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
英国花园家具中心:Garden Furniture Centre
2017/08/24 全球购物
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
一篇.NET面试题
2014/09/29 面试题
无故旷工检讨书
2014/01/26 职场文书
党委书记个人对照检查材料
2014/09/15 职场文书
工程部主管岗位职责
2015/02/12 职场文书
赢在执行观后感
2015/06/16 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书
springboot用户数据修改的详细实现
2022/04/06 Java/Android