PHP 字符串比较同字问题

PHP string comparison of same word problem

我正在用 fopen 打开一些文件,在这些文件中我读取了一个词并将其放入一个变量中。这个词是 "hour" 。但是后来当我将这个变量与单词 "hour" 进行比较时,它 return 不相等!问题可能与编码有关。有什么方法可以格式化编码以使其与普通文本匹配?

这是我遇到的问题的代码示例:

$myfile = fopen("/hdd4/no2_2013_2016/".$files[$i], "r") or die("Unable to open file!");
$raw_text=fgets($myfile)
$text_array=explode(",",$raw_text);
$frequency=$text_array[10];  // It is hour and it reads it correctly as i echoed it
echo strcmp($frequency, "hour"); // not 0 ,in fact it returns -104 .Also the number my differ with other files

if ($frequency=="hour") //also doesn't work

按照建议我使用了 var_dump($frequency) 并且它 returned:

string(9) "[=12=]0h[=12=]0o[=12=]0u[=12=]0r[=12=]0"

trim($frequency) 之后 return编辑:

string(7) "h[=13=]0o[=13=]0u[=13=]0r"

即每个字符前有一个空字符。如果您正在创建文件,那么您没有正确执行。据推测,某些东西一次将一个字符放入文件,并且每次放置都以 空字符 终止,或者发生在上一步中。

如果它不在您的控制范围内,则替换该字符:

$raw_text = str_replace("[=10=]", "", fgets($myfile));