<?php
function aType($x){
$tmp = ord($x);
if($tmp>=97 && $tmp<=122){
return 0;//
}
if($tmp >=65 && $tmp <=90){
return 1;
}
return 2;
}
$fin=fopen("5M.txt","r");
$end=microtime(true);
//$count=0;
$a=array();
$b='';
$c=0;
while(!feof($fin)){
$tmp=fgetc($fin);
if(trim($tmp)=='')
continue;
$type= aType($tmp);
if(count($a)==0&&$b==''&&$c==0){
if($type==0){
$a[0]=$tmp;
}else{
}
}elseif(count($a)==1&&$b==''&&$c==0){
if($type==0){
$a[0]=$tmp;
$b='';
$c=0;
}else{
$b=$tmp;
$c+=1;
}
}elseif(count($a)==1&&!empty($b)&&$c==1){
if($type==0){
$a[0]=$tmp;
$b='';
$c=0;
}else{
if($tmp==$b)
$c+=1;
else{
$a=array();
$b='';
$c=0;
}
}
}elseif(count($a)==1&&!empty($b)&&$c==2){
if($type==0){
$a[0]=$tmp;
$b='';
$c=0;
}else{
if($tmp==$b)
$c+=1;
else{
$a=array();
$b='';
$c=0;
}
}
}elseif(count($a)==1&&!empty($b)&&$c==3){
if($type==0){
$a[1]=$tmp;
}else{
$a=array();
$b='';
$c=0;
}
}elseif(count($a)==2&&!empty($b)&&$c==3){
if($type==0){
$a=array();
$a[0]=$tmp;
$b='';
$c=0;
}else{
if($tmp==$b)
$c+=1;
else{
array_shift($a);
$b=$tmp;
$c=1;
}
}
}elseif(count($a)==2&&!empty($b)&&$c==4){
if($type==0){
$a=array();
$b='';
$c=0;
}else{
if($tmp==$b)
$c+=1;
else{
$a=array();
$b=$tmp;
$c=1;
}
}
}elseif(count($a)==2&&!empty($b)&&$c==5){
if($type==0){
$a=array();
$b='';
$c=0;
}else{
if($tmp==$b)
$c+=1;
else{
$a=array();
$b=0;
$c=0;
}
}
}elseif(count($a)==2&&!empty($b)&&$c==6){
if($type==0){
$a[2]=$tmp;
array_shift($a);
echo $a[0];
$c=3;
}else{
$a=array();
$b=0;
$c=0;
}
}
}
fclose($fin);
$end_find=microtime(true);
echo "<br/>";
echo "parse file time=";
echo $end_find-$end;
echo "<br/>";
echo "<br/>";
【php】读文件找出特定字符
最新推荐文章于 2023-07-23 15:58:54 发布