首页 > 开发 > PHP > 正文

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

2024-05-04 23:38:16
字体:
来源:转载
供稿:网友

这篇文章主要介绍了php数组比较实现查找连续数的方法,实例分析了php数组查找及字符串操作的相关技巧,需要的朋友可以参考下

本文实例讲述了php数组比较实现查找连续数的方法。分享给大家供大家参考。具体如下:

 

 
  1. $data = array(); 
  2. $data[]= array("01" ,"02""18" , "29" , "31" , "32"); 
  3. $data[]= array("02" ,"09""11" , "22" , "24" , "27"); 
  4. $data[]= array("07" ,"16""26" , "27" , "29" , "31"); 
  5. $data[]=array("04""05""07""10""13""25"); 
  6. $data[]=array("02""04""05""08""19""22"); 
  7. $data[]=array("03""04""15""25""26""30"); 
  8. $data[]=array("01""03""06""12""16""32"); 
  9. $data[]=array("01""05""14""17""22"); 
  10. // 判断表格中3个以上的连续  
  11. function checkAll($sourceArr2D) { 
  12. $count = sizeof($sourceArr2D); 
  13. for($i=0; $i<$count$i++){ 
  14. check_h($sourceArr2D[$i], $i);//找寻水平方向 
  15. if($i>0) { 
  16. check_v($sourceArr2D$i);// 找寻竖直方向 
  17. check_l($sourceArr2D$i);// 找寻/方向 
  18. check_r($sourceArr2D$i);// 找寻方向 
  19. // 判断水平方向 
  20. $h = array();// 保存水平方向上的搜寻结果 
  21. function check_h($arr$rownum) { 
  22. //sort($arr, SORT_NUMERIC); 
  23. global $h
  24. $flag = false; 
  25. for($i=2; $i<6; $i++){ 
  26. if$arr[$i-2]==$arr[$i]-2 ){ 
  27. // 因为数组内数字不重复且有序故可取巧 
  28. if(!$flag) { 
  29. $h[$rownum] = array($arr[$i-2], $arr[$i-1], $arr[$i]); 
  30. $flag = true; 
  31. }else
  32. array_push($h[$rownum], $arr[$i]); 
  33. // 判断竖直方向 
  34. $v = array();// 保存竖直方向上的搜寻结果 
  35. function check_v($sourceArr2D$rownum) { 
  36. global $v
  37. for($i=0; $i<6; $i++){ 
  38. $val = $sourceArr2D[$rownum][$i]; 
  39. if( in_array($rownum...$val$v) ){ 
  40. continue
  41. if( in_array($val,$sourceArr2D[$rownum-1]) && in_array($val,$sourceArr2D[$rownum+1]) ){ 
  42. array_push($v, ($rownum-1)...$val$rownum...$val, ($rownum+1)...$val); 
  43. $tmp = $rownum + 2; 
  44. while( ($tmp < sizeof($sourceArr2D)) && in_array($val$sourceArr2D[$tmp]) ){ 
  45. array_push($v$tmp...$val); 
  46. $tmp++; 
  47. // 判断/方向 
  48. $l = array();// 保存/方向上的搜寻结果 
  49. function check_l() { 
  50. // 判断方向 
  51. $r = array();// 保存方向上的搜寻结果 
  52. function check_r() { 
  53. // 结束定义,开始应用 
  54. checkAll($data); 
  55. echo 
  56. //水平方向上的找寻: 
  57. print_r($h); 
  58. echo 
  59. //竖直方向上的找寻: 
  60. print_r($v); 
  61. echo 
  62. //方向上的找寻: 
  63. print_r($l); 
  64. echo 
  65. //方向上的找寻: 
  66. print_r($r); 

希望本文所述对大家的php程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表