$scriptname = split('[/]',$_SERVER['SCRIPT_NAME']);
$filename = end($scriptname);
$MM_Conn_STRING="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("www.111cn.net/a.mdb") ." ;DefaultDir=". realpath(".");
$Conn=new COM("ADODB.Connection");
$RS =new COM("ADODB.RecordSet");//数据集
$Conn->open($MM_Conn_STRING);//链接打开数据源
$query="select * from doubt";
$RS->open($query,$Conn,1,1);//执行语句,返回记录集
$pagesize=$RS->Pagesize=3;//设置每页显示条数
if($RS->PageCount<>0){//防止数据库教程为空
if(!empty($_GET['page'])){
if($_GET['page']<=0){
$RS->AbsolutePage=1;
$nowpage=1;
}elseif($_GET['page']>$RS->PageCount){
$RS->AbsolutePage=$RS->PageCount;
$nowpage=$RS->PageCount;
}else{
$RS->AbsolutePage=$_GET['page'];
$nowpage=$_GET['page'];
}
}else{
$RS->AbsolutePage=1;
$nowpage=1;
}
}else{
$nowpage = 1;
$pagesize = 0;
}
echo "当前显示第".$nowpage."页 ";
echo "每页".$pagesize.'条 ';
echo "共有".$RS->RecordCount."条记录 ";
echo "共有".$RS->PageCount."页<br> ";
for ($m=1; $m<=$pagesize; $m++)
{
echo "
<table width=548 height=76 border=0 align=center cellpadding=0 cellspacing=1 bgcolor=#ededed
<tr>
<td width=100 rowspan=2 align=center valign=middle bgcolor=#FFFFFF><img" width=100% src=smiles/0.gif width=20 height=20 /><br />姓名:".$RS->fields["username"]->value."</td>
<td width=307 height=25 align=left bgcolor=#FFFFFF>问:".$RS->fields["biaoti"]->value."</td>
<td width=137 align=left bgcolor=#FFFFFF>".$RS->fields["wendate"]->value."</td>
</tr>
<tr>
<td height=50 colspan=2 align=left valign=top bgcolor=#FFFFFF>问题:".$RS->fields["neirong"]->value."<hr width=100% size=1 color=#CCCCCC>
回复</td>
</tr>
</table>
";
$RS->MoveNext();
//if($RS->PageCount==0){
//echo "没有数据";
}
if($RS->PageCount<>0){//防止数据库为空
echo "<a href=$filename?page=1>首页</a> ";
if (!($nowpage<=1)){
echo "<a href=$filename?page=".($nowpage-1).">上一页</a> ";
}
if (!($nowpage>=$RS->PageCount)){
echo "<a href=$filename?page=".($nowpage+1).">下一页</a> ";
}
echo "<a href=$filename?page=".$RS->PageCount.">尾页</a> ";
}
//释放资源
$Conn->Close();
$RS=NULL;
$Conn =NULL;
ignore_user_abort(true);
set_time_limit(0);
function test(){
echo "不要迷恋哥,哥只是个定时器!";
echo date('h:i:s') . "<br>";
}
function just_do_it(){
test();
usleep(2000000);
}
ob_end_clean();
ob_start();
while(1){
echo str_repeat(" ",1024);
ob_flush();
flush();
just_do_it();
}
preg_match_all ("/(? (d{3})? )? -? (?(1) [-s] ) d{3}-d{4}/x",
"Call 555-1212 or (221)-(820)-555-1212", $phones);
print_r($phones[0]);echo "<br>";
print_r($phones[1]);
输出的结果为:
Array ( [0] => 555-1212 [1] => (820)-555-1212 )
Array ( [0] => [1] => 820 )
谁能帮忙解释下这个正则表达式的意思?关键是 (? (d{3})? )? (?(1) [-s] ) 这部分。
为什么能 匹配 (820),却不能匹配 (221) ?
(? (d{3})? )? (?(1) [-s] ) 中
(1) 引用的即 (d{3})
(?(1) [-s] ) 如果 (d{3}) 匹配成功,则继续匹配 [-s]
原型是(?a b|c) ,如果a匹配了,继续匹配b,否则匹配c
因为是
13503594262
13503594262
13243694429
13503594262
13880561750
13404776999
15675167006
这种格式,所有我们就用file把文本直接载入到数组
$array = file($file);
用print_r输出
Array
(
[0] => 13688179054
[1] => 13652179481
[2] => 13545684587
[3] => 13787008977
[4] => 13077337442
[5] => 15900780969
[6] => 15900780969
[7] => 13077337442
[8] => 13077337442
[9] => 13830933836
[10] => 13640292942
[11] => 13582045025
[12] => 13522725381
[13] => 13522725382
[14] => 13512345678
[15] => 13001831752
[16] => 13737657988
[17] => 13737657988
[18] => 13636399773
[19] => 13661726563
[20] => 13554797552
[21] => 13919571298
[22] => 15809480888
[23] => 13925810190
[24] => 13631811119
[25] => 13524620464
[26] => 13077337442
[27] => 13077337442
[28] => 13077337442
[29] => 13077337442
*/
$zhi = file('www.111cn.net.txt');
print_r($zhi);
die();
$chuzhi = array_values(array_unique($zhi));
$str ='';
for($i=0;$i<count($chuzhi);$i++){
$str .= $chuzhi[$i];
}
//保存到字符串里,再用fopen写入到文本
$hold = fopen('12.txt','w+');
fwrite($hold,$str);
fclose($hold);
/*
www.111cn.net.txt文本内容
13503594262
13503594262
13503594262
13503594262
13243694429
13503594262
13880561750
13404776999
15675167006
注明:本文章原创于www.111cn.net转载注明出处,谢谢合作。
$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", www.111cn.net, "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 '<br /><br />水平方向上的找寻:';
print_r($h);
echo '<br /><br />竖直方向上的找寻:';
print_r($v);
echo '<br /><br />/方向上的找寻:';
print_r($l);
echo '<br /><br />方向上的找寻:';
print_r($r);