PHP fgets() 严格的 !== 运算符
PHP fgets() strict !== operator
我在 fgets() 的 PHP 文档中看到了下面的代码:
while (($buffer = fgets($handle, 4096)) !== false) {
echo $buffer;
}
我的问题是:为什么有严格的!==
?
为什么你不能这样做:
while ( $buffer = fgets($handle, 4096) ) {
echo $buffer;
}
仅包含 0
的字符串被认为是虚假的。因此,如果文件的最后一行只是 0
(末尾没有换行符),则文件的该行将不会被回显。严格比较确保循环仅在 fgets()
returns false
时结束,因为它到达文件末尾或出现错误。
我在 fgets() 的 PHP 文档中看到了下面的代码:
while (($buffer = fgets($handle, 4096)) !== false) {
echo $buffer;
}
我的问题是:为什么有严格的!==
?
为什么你不能这样做:
while ( $buffer = fgets($handle, 4096) ) {
echo $buffer;
}
仅包含 0
的字符串被认为是虚假的。因此,如果文件的最后一行只是 0
(末尾没有换行符),则文件的该行将不会被回显。严格比较确保循环仅在 fgets()
returns false
时结束,因为它到达文件末尾或出现错误。