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 相关文章推荐
站长助手-网站web在线管理程序 v1.0 下载
May 12 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
Jul 01 PHP
php 批量替换程序的具体实现代码
Oct 04 PHP
php检查是否是ajax请求的方法
Apr 16 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
Dec 11 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
Mar 05 PHP
php用正则判断是否为数字的方法
Mar 25 PHP
Yii2实现自定义独立验证器的方法
May 05 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
Jun 06 PHP
php post json参数的传递和接收处理方法
May 31 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
Oct 18 PHP
PHP7变量处理机制修改
Mar 09 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 fopen 读取带中文URL地址的一点见解
2012/09/25 PHP
PHP生成Gif图片验证码
2013/10/27 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
2014/07/24 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
2016/05/06 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
Ext中下拉列表ComboBox组件store数据格式用法介绍
2013/07/15 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
浅析jQuery中使用$所引发的问题
2016/05/29 Javascript
js简单实现图片延迟加载的方法
2016/07/19 Javascript
详解Angular.js指令中scope类型的几种特殊情况
2017/02/21 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
vue地区选择组件教程详解
2018/05/04 Javascript
vue中el-upload上传图片到七牛的示例代码
2018/10/19 Javascript
简单了解JavaScript异步
2019/05/23 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
2019/06/27 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
详解vite2.0配置学习(typescript版本)
2021/02/25 Javascript
[00:47]DOTA2荣耀之路6:玩不了啦!
2018/05/30 DOTA
Python将DataFrame的某一列作为index的方法
2018/04/08 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
Django xadmin安装及使用详解
2020/10/26 Python
python 实现音频叠加的示例
2020/10/29 Python
kmart凯马特官网:美国最大的打折零售商和全球最大的批发商之一
2016/11/17 全球购物
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
Java如何读取CLOB字段
2013/10/10 面试题
班长岗位职责
2013/11/10 职场文书
大专毕业生自我评价分享
2013/11/10 职场文书
机械工程师的岗位职责
2013/11/17 职场文书
个人对照检查材料
2014/02/12 职场文书
2015年教务主任工作总结
2015/07/22 职场文书
微软Win11什么功能最惊艳? Windows11新功能特性汇总
2021/11/21 数码科技