为了账号安全,请及时绑定邮箱和手机立即绑定

PHP字符串比较同字问题

PHP字符串比较同字问题

PHP
开满天机 2022-01-08 20:40:50
我正在用 fopen 打开一些文件,在这些文件中我读了一个单词并将其放入一个变量中。这个词是“小时”。但是后来当我将此变量与“小时”一词进行比较时,它不会返回相等!问题可能与编码有关。有没有办法格式化编码,使其与普通文本匹配?这是一个代码示例,涉及我面临的问题:$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 itecho strcmp($frequency, "hour"); // not 0 ,in fact it returns -104 .Also the number my differ with other filesif ($frequency=="hour") //also doesn't work正如我所建议的那样var_dump($frequency),它返回了:string(9) "\000h\000o\000u\000r\000"之后trim($frequency),它返回:string(7) "h\000o\000u\000r"
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

那是每个字符之前的字符。如果您正在创建文件,那么您没有正确执行它。大概是某事一次将一个字符放入文件中,并且每个放入都由一个空字符终止,或者发生在上一步中。

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

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


查看完整回答
反对 回复 2022-01-08
  • 1 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信