【发布时间】:2018-03-10 19:17:26
【问题描述】:
如果我制作一个简单的文本文件,如下所示:
first line.
second line.
并通过以下方式应用 fread:
$fh = fopen("test_file_three.txt",'r') or die("Error attempting to
open file.");
$first_word = fread($fh,5);
$second_word = fread($fh,6);
$third_word = fread($fh,1);
$fourth_word = fread($fh,3);
echo $first_word;
echo "<br />";
echo $second_word;
echo "<br />";
echo $third_word;
echo "<br />";
echo $fourth_word;
echo "<br />";
$third_word 变量的回声正如预期的那样只是“空白”。 我假设它接收并存储换行符。但是,如果我附加以下代码:
if ($third_word === '\n'){
echo "Third word is newline character.";
}
else {
echo "Third word is not newline character.";
}
(或者,== 而不是 ===) 然后结果是假的;测试 $newline_char = '\n';然而,在这样的 if 语句中,工作正常。这里发生了什么?是否存储了换行符?
【问题讨论】:
-
可能不是
\n可能是\r或只是`\`。而单引号代表文字串,不妨试试双引号。