php数组比较实现查找连续数的方法

 更新时间:2015年07月29日 12:08:35   作者:DDIAN  
这篇文章主要介绍了php数组比较实现查找连续数的方法,实例分析了php数组查找及字符串操作的相关技巧,需要的朋友可以参考下

本文实例讲述了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对象递归引用造成内存泄漏分析

    这篇文章主要介绍了PHP对象递归引用造成内存泄漏分析,是PHP程序设计中需要加以重视的一个bug,并且有助于深入理解PHP运行原理,需要的朋友可以参考下
    2014-08-08
  • php如何执行非缓冲查询API

    php如何执行非缓冲查询API

    这篇文章主要为大家介绍了三种php执行非缓冲查询API,非缓冲查询适应于大数据量查询,php如何执行非缓冲查询,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • PHP获取网络图片信息的方法步骤详解

    PHP获取网络图片信息的方法步骤详解

    在开发Web应用程序中,我们经常需要从网络上获取图片并对其进行处理,有时候,我们可能需要知道图片的长宽和类型信息,以便进行进一步的操作或展示给用户,所以本文就大家介绍PHP获取网络上图片信息的方法步骤,感兴趣的同学跟着小编一起来看看吧
    2023-08-08
  • 高质量PHP代码的50个实用技巧必备(下)

    高质量PHP代码的50个实用技巧必备(下)

    这篇文章主要为大家分享了50个高质量PHP代码的实用技巧,大家必备的php实用代码,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • PHP+MYSQL中文乱码问题

    PHP+MYSQL中文乱码问题

    这篇文章主要汇总介绍了几种解决PHP+MYSQL中文乱码问题的方法,十分的实用,有需要的小伙伴可以参考下。
    2015-07-07
  • PHP实现微信JS-SDK接口选择相册及拍照并上传的方法

    PHP实现微信JS-SDK接口选择相册及拍照并上传的方法

    这篇文章主要介绍了PHP实现微信JS-SDK接口选择相册及拍照并上传的方法,涉及php微信接口的调用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-12-12
  • Ajax+PHP实现的删除数据功能示例

    Ajax+PHP实现的删除数据功能示例

    这篇文章主要介绍了Ajax+PHP实现的删除数据功能,涉及php结合ajax动态交互操作数据库实现数据查询与删除相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • Linux系统中设置多版本PHP共存配合Nginx服务器使用

    Linux系统中设置多版本PHP共存配合Nginx服务器使用

    这篇文章主要介绍了Linux系统中设置多版本PHP共存配合Nginx服务器使用的技巧,依靠php-fpm工具来进行管理,需要的朋友可以参考下
    2015-12-12
  • PHP实现二维数组按照指定的字段进行排序算法示例

    PHP实现二维数组按照指定的字段进行排序算法示例

    这篇文章主要介绍了PHP实现二维数组按照指定的字段进行排序算法,涉及php针对数组的遍历、排序等相关操作技巧,需要的朋友可以参考下
    2019-04-04
  • php下关于中英数字混排的字符串分割问题

    php下关于中英数字混排的字符串分割问题

    要用到短信平台的缘故,短信每条又有字数的限制,而短信平台的服务端又不会自己分析。短信平台的后台会自己分割,但api却有没这个功能。
    2010-04-04

最新评论