我有一个html文件,ISO-8859-1,我将其内容作为数组处理,我想找到空行(空值),但无论我做什么,值总是计算为非空但是我没有在某些行中看到任何内容。我想也许是因为不同的编码,或者因为它是一个不同的编码和一个数组同时,但我找不到有什么问题。 如果我在notepad ++中更改编码,空行仍然是空的。如果我打开显示所有隐藏的字符,则只有CRLF。由于CRLF ??
,它可能不会评估为空$content = file($filename);
1. row: <tr ...
2. row:
3. row: <tr> ...
foreach ($content as $key => $value) {
if (!empty($value)) {
echo 'not empty!';
}
}
到处都是“不空洞”!在行nr。 2也(似乎是空的)。 事实上,我甚至无法在这个数组中搜索(使用array_search)。 这里发生了什么? 非常感谢!
答案 0 :(得分:1)
使用
$content = file($filename, FILE_IGNORE_NEW_LINES);
所以你没有得到换行符。 或者,如果您只想要非空行,请使用
$content = file($filename, FILE_SKIP_EMPTY_LINES);
答案 1 :(得分:0)
查看isset()
的文档:
确定变量是否已设置且不为NULL。
您的变量$value
存在但是为空字符串而不是null
。
请尝试使用empty()
或仅使用trim()
,因为空字符串也会评估为false
:
foreach ($content as $key => $value) {
if (trim($value)) {
echo 'not empty!';
}
}