Maison  >  Article  >  développement back-end  >  php fgets函数读取多余的空格解决

php fgets函数读取多余的空格解决

WBOY
WBOYoriginal
2016-07-29 09:16:151967parcourir

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教程有兴趣的朋友有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:面向对象PHP(三)Article suivant:面向对象PHP(四)