我编写了一个获取文本并获取三行代码所有人的代码:
<?php
$f = fopen('text.txt' , 'r');
while($line = fgets($f)){
if($i == 1){
$j = $line;
}elseif($i == 2){
$k = $line;
}elseif($i == 3){
$n = $line;
}
}
text.txt
是:
3
ABC
aBD
当我运行下面的代码时,它给我一个奇怪的输出:
echo strlen($k);
[$k
是ABC
,但是输出是这个:
5
我知道这5个字符中的一个是进入下一行的"\n"
,但是另一个是什么?
将非常感谢您的帮助
由于Windows使用\r\n
作为行终止符,因此将在每个字符串中额外增加2个字符。 Linux仅使用\r
,因此仅增加1。
要提供通用解决方案,最好使用
$line = trim($line);
将删除所有行终止符。它还将删除前导和尾随空格。