需要一些帮助。我有一个文本文件,其中包含客户选择购买的产品。我只想知道如何在特定列中添加从上到下的所有值。
文本文件示例。
40“非商用LED显示器(海信); 1; 4735.00; 4440.00; 4175.00; 4055.00
软件许可费 - 1年; 1; 1155.00; 1155.00; 1155.00; 1100.00
所以你可以看到有六列。我想在这些列中添加所有值。例如:第3列将加起来(4735.00 + 1155.00)= 5890.00。
请帮忙。
答案 0 :(得分:2)
所涉及的步骤是:
示例:强>
<?php
$File_Contents = file_get_contents("test.txt");
$All_Lines = array();
if (preg_match("/\n/", $File_Contents)){
$All_Lines = explode("\n", $File_Contents); //separate by lines
}else{
$All_Lines[] = $File_Contents; //contains only one line;
}
$Total_Price = 0;
if (count($All_Lines) != 0 AND trim($File_Contents) != ""){
foreach($All_Lines as $Line){
$Line = trim($Line); //remove whitespace
if ($Line != ""){
$Separators = explode(";", $Line); //now you can access the separators using $Separators[0],[1]
if (isset($Separators[2]) AND is_numeric($Separators[2])){
$Price = $Separators[2];
$Total_Price += $Price;
}
}
}
echo "<b>Total Price:</b> {$Total_Price}";
}else{
echo "No data";
}
?>
答案 1 :(得分:1)
同样,但更容易
$col_num = 2;
$arr = array_map(function($v) { return explode(';', $v); }, file("test.txt"));
echo array_sum(array_column($arr, $col_num));