3 回答
TA贡献1818条经验 获得超7个赞
它是一个 csv 文件,您可以用,除第一个标题行之外的最后一项来分解每一行并求和。
$lines = file($file_path);
$lines = array_map(function($v){return explode(",",$v);},array_slice($lines,1));
echo array_sum(array_column($lines,2)) . PHP_EOL;
TA贡献1829条经验 获得超13个赞
尝试使用preg_match_all和 RegEx
function readAFile()
{
$userfileInfo = fopen("peopleInformation.txt", "r") or die("Unable to open the file.");
//echo fread($userfileInfo, filesize("peopleInformation.txt"));
$theData = fread($userfileInfo, filesize("peopleInformation.txt"));
echo $theData;
preg_match_all('/\d+,.+,(\d+)/', $theData, $output);
$sum = 0;
foreach($output[1] as $value){
$sum = $sum + (int) $value;
};
//echo "Sum :".$sum;
fclose($userfileInfo);
}
TA贡献1802条经验 获得超5个赞
您可以使用fgets函数逐行读取它。然后您可以轻松地使用explode函数将行更改为数组。数组中的最后一个索引是您想要的值。如下所示:
$theData = fopen("peopleInformation.txt", "rw");
fgets($theData); //skip the header.
$sum = 0;
while (! feof ($my_file))
{
$line = fgets($theData);
$array_val = explode($line);
$sum += (int)end($array_val);
}
- 3 回答
- 0 关注
- 91 浏览
添加回答
举报