簡體   English   中英

PHP字符串比較相同單詞的問題

[英]PHP string comparison of same word problem

我用fopen打開一些文件,在這些文件中,我讀了一個單詞並將其放在變量中。 這個詞是“小時”。 但是稍后,當我將此變量與單詞“ hour”進行比較時,它不會返回等於! 該問題可能與編碼有關。 有什么方法可以格式化編碼,使其與普通文本匹配?

這是引用我所面臨問題的代碼示例:

$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)並返回:

string(9) "\000h\000o\000u\000r\000"

trim($frequency)之后返回:

string(7) "h\000o\000u\000r"

這是每個字符之前的字符。 如果要創建文件,則說明操作不正確。 大概是一次將一個字符放置到文件中,而每個放置都以空字符終止,或者發生在上一步中。

如果超出您的控制范圍,則替換該字符:

$raw_text = str_replace("\0", "", fgets($myfile));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM