php用fgets读字符串的时候,本来遇到换行就停止读了,但是实际会在字符串后面多读点东西,我感觉是windows的换行的原因,\r\n,可能是这个原因,最后总有一个空格,导致我在使用字符串的时候总发生错误。
进过尝试,主要使用fgetc,和case,发现字符串结尾有两个ascii为 0 字符,这两个东西造成了字符串后面的空格。
while(!feof($myfile)) { $data1 = fgets($myfile); $i = strlen($data1); //str_replace(array('\n' ,'\r', '\n\r', ''), 'v', $data1); switch ($data1) { case 0: # code... //echo 0; break; case 10: echo 10; break; default: # code... echo 11; break; } echo $i; //$i++; echo "aa".$data1."aa"; echo "<br>"; echo "aa".substr($data1,0, $i-2)."aa"; echo "<br>"; }
所以果断用字符串截取函数,切掉最后两个字符就好了。
$i = strlen($data1); echo "aa".substr($data1,0, $i-2)."aa";
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了php fgets函数读取多余的空格解决,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。