我目前的代码:
$file = fopen("countries.txt","r");
$array = array();
while(!feof($file)) {
$array[] = fgets($file);
}
fclose($file);
这是我的foreach循环:
$str = "test";
foreach ($array as $key => $val) {
if ($val == $str) {
echo $val;
} else {
echo "not found";
}
}
我想知道为什么只打印$ val,如果它是数组的最后一个值。
例如,如果txt文件看起来像这样
,它就有效test1
test2
test3
test
但如果它看起来像
则不起作用test1
test2
test
test3
答案 0 :(得分:6)
问题是,每行末尾都有一个换行符,所以:
Array.prototype.forEach.call(document.querySelectorAll('style,[rel="stylesheet"],[type="text/css"]'), function(element){
try{
element.parentNode.removeChild(element)
}catch(err){}
});
这就是为什么它不像你期望的那样工作。
现在如何解决?我可以向您介绍这个功能:file()
。您可以将文件读入数组并将标志设置为忽略每行末尾的这些新行。
因此,将所有这些信息放在一起,您将得到以下代码:
test\n !== test
//^^ See here
答案 1 :(得分:0)
比较字符串时 - 应始终使用'==='。