fgets函数返回值的注意点

在做判断内容中是否存在敏感词汇,敏感词汇被保存到一个文件中,
敏感词汇分等级
第一行 level 为 1
第二行 level 为 2 依次类推

看代码

judge.php文件中只有两行f,t

  $fp = fopen('judge.php', 'r');
    while (!feof($fp)) {
        $tmp = fgets($fp);
        var_dump($tmp);//string(3) "f\r\n"
    }
    fclose($fp);

因为在文件中换行了,所以fgets函数每一次读的时候末尾都有换行符
如果为最后一行,则fgets函数得到的没有换行符
在win下换行符为”\r\n”
linux下 “\n”
mac下 “\r”

如果你对fgets函数的返回值在运用的话,应该注意这点

解决方法 so easy
trim下

trim(fgets($fp))

你可能感兴趣的:(php)