加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 02:47:23 所属栏目:PHP教程 来源:网络整理
导读:《php数组比较实现查找连续数的方法》要点: 本文介绍了php数组比较实现查找连续数的方法,希望对您有用。如果有疑问,可以联系我们。 PHP实战 本篇章节讲解php数组比较实现查找连续数的办法.供大家参考研究.具体如下: PHP实战 $data = array();$da

《php数组比较实现查找连续数的方法》要点:
本文介绍了php数组比较实现查找连续数的方法,希望对您有用。如果有疑问,可以联系我们。

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","31");
$data[]=array("04","05","07","10","13","25");
$data[]=array("02","04","08","19","22");
$data[]=array("03","15","25","30");
$data[]=array("01","03","06","12","32");
$data[]=array("01","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数组比较实现查找连续数的方法》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读