我有一个 PHP 脚本,它应该根据名为 info.txt 的文件的第一行是“0”还是其他内容来执行某些操作。我的PHP文件:
<?php
$handle = fopen('info.txt','r');
$line = fgets($handle);
fclose($handle);
// print detailed contents of $line
foreach(str_split($line) as $chr) {
printf("[%02x] %s <br />",ord($chr),$chr);
}
if ($line == '0\n') {
echo "equal";
} else {
echo "not equal";
}
?>
我在 stackoverflow 上的另一个答案上得到了 foreach 循环,它$line按字符拆分并打印字符的代码及其评估结果。当我运行这个文件时,输出是:
[30] 0
[0a]
not equal
看起来 info.txt 的第一行0\n就像我理解的那样,0x0a应该与\n. 我在 Mac OS X 上运行这个文件,但我认为这不应该改变 ASCII0x0a是\n字符的事实。任何想法为什么$line不评估为等于'0\n'?我是 PHP 的新手,所以问题很可能是一些明显的语法问题。谢谢!
一只甜甜圈