我想逐行阅读,但我不想处理换行符,我希望将其删除,所以我最终只得到该行的内容。
现在我的功能是:
function getProductCount($path)
{
$count = 0;
foreach (file($path) as $name) {
if($name == "<product>\n")
{
$count = $count + 1;
}
}
return $count;
}
但理想情况下我想做:
function getProductCount($path)
{
$count = 0;
foreach (file($path) as $name) {
if($name == "<product>")
{
$count = $count + 1;
}
}
return $count;
}
有没有办法同时删除回车?
由于
答案 0 :(得分:11)
http://www.php.net/manual/en/function.file.php
查看可以添加到函数调用的其他标志。你应该使用“FILE_IGNORE_NEW_LINES”
答案 1 :(得分:4)
您可以在每次循环迭代开始时在行上执行rtrim()
。
function getProductCount($path)
{
$count = 0;
foreach (file($path) as $raw_name) {
$name = rtrim($raw_name);
if($name == "<product>")
{
$count = $count + 1;
}
}
return $count;
}
答案 2 :(得分:0)
答案 3 :(得分:-1)
您可能需要查看:http://php.net/trim和http://php.net/str_replace(因此您可以用空字符替换eol)
答案 4 :(得分:-2)
正则表达式(在一行中取出\ n的最后一次出现并剥离它)或简单的$name = substr($name, 0, -2)
都可以解决这个问题