代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
PHP
】
数组比较,查找连续数实例
作者:
qita.in
/ 发布于
2012/10/22
/
498
数组比较,查找连续数实例
<div>$data = array();</div> <div>$data[]= array("01" ,"02", "18" , "29" , "31" , "32");</div> <div>$data[]= array("02" ,"09", "11" , "22" , "24" , "27");</div> <div>$data[]= array("07" ,"16", "26" , "27" , "29" , "31");</div> <div>$data[]=array("04", "05", "07", "10", "13", "25");</div> <div>$data[]=array("02", "04", "05", "08", "19", "22");</div> <div>$data[]=array("03", "04", "15", "25", "26", "30");</div> <div>$data[]=array("01", "03", "06", "12", "16", "32");</div> <div>$data[]=array("01", "05", "14", "17", "22");</div> <div>// 判断表格中3个以上的连续 http://blog.qita.in</div> <div>function checkAll($sourceArr2D) {</div> <div> </div> <div> $count = sizeof($sourceArr2D);</div> <div> for($i=0; $i<$count; $i++){</div> <div> check_h($sourceArr2D[$i], $i);//找寻水平方向</div> <div> if($i>0) {</div> <div> check_v($sourceArr2D, $i);// 找寻竖直方向</div> <div> check_l($sourceArr2D, $i);// 找寻/方向</div> <div> check_r($sourceArr2D, $i);// 找寻方向</div> <div> } <div> } <div>} <div>// 判断水平方向</div> <div>$h = array();// 保存水平方向上的搜寻结果</div> <div>function check_h($arr, $rownum) {</div> <div> //sort($arr, SORT_NUMERIC);</div> <div> global $h;</div> <div> $flag = false;</div> <div> for($i=2; $i<6; $i++){</div> <div> if( $arr[$i-2]==$arr[$i]-2 ){ // 因为数组内数字不重复且有序故可取巧</div> <div> if(!$flag) {</div> <div> $h[$rownum] = array($arr[$i-2], $arr[$i-1], $arr[$i]);</div> <div> $flag = true;</div> <div> }else{</div> <div> array_push($h[$rownum], $arr[$i]);</div> <div> } <div> } <div> } <div>} <div>// 判断竖直方向</div> <div>$v = array();// 保存竖直方向上的搜寻结果</div> <div>function check_v($sourceArr2D, $rownum) {</div> <div> global $v;</div> <div> for($i=0; $i<6; $i++){</div> <div> $val = $sourceArr2D[$rownum][$i];</div> <div> if( in_array($rownum...$val, $v) ){</div> <div> continue;</div> <div> } <div> if( in_array($val,$sourceArr2D[$rownum-1]) && in_array($val,$sourceArr2D[$rownum+1]) ){</div> <div> array_push($v, ($rownum-1)...$val, $rownum...$val, ($rownum+1)...$val);</div> <div> $tmp = $rownum + 2;</div> <div> while( ($tmp < sizeof($sourceArr2D)) && in_array($val, $sourceArr2D[$tmp]) ){</div> <div> array_push($v, $tmp...$val);</div> <div> $tmp++;</div> <div> } <div> } <div> } <div>} <div>// 判断/方向</div> <div>$l = array();// 保存/方向上的搜寻结果</div> <div>function check_l() {</div> <div>} <div>// 判断方向</div> <div>$r = array();// 保存方向上的搜寻结果</div> <div>function check_r() {</div> <div>} <div>// 结束定义,开始应用</div> <div>checkAll($data);</div> <div>echo</div> <div></div> <div>水平方向上的找寻:;</div> <div>print_r($h);</div> <div>echo</div> <div></div> <div>竖直方向上的找寻:;</div> <div>print_r($v);</div> <div>echo</div> <div></div> <div>/方向上的找寻:;</div> <div>print_r($l);</div> <div>echo</div> <div></div> <div>方向上的找寻:;</div> <div>print_r($r);</div>
试试其它关键字
数组比较
同语言下
.
用net匹配并替换iOS标准的emoji表情符号
.
处理带Emoji表情的的字符串
.
获取微信昵称时 过滤特殊字符
.
通过判断上传文件的头字符来判断文件的类型
.
模拟百度URL加密解密算法
.
以太坊检查地址是否合法
.
实现crontab解析类
.
获取每个月的开始和结束时间
.
图片上传工具类
.
APP手机应用信息采集
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
qita.in
贡献的其它代码
(
28
)
.
跨站刷票代码
.
计算一个文件夹的大小
.
全屏点弹代码
.
替代标题
.
实现字符串翻转(包含中文汉字)
.
PHP中英文断句无乱码
.
各种过滤字符函数
.
获取当前页面完整URL地址
.
将html 转成wml WAP标记语言
.
检查用户名是否符合规定
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3