2016-04-04 8 views
1

は援助が必要です。私は、顧客が購入を選択した製品を含むテキストファイルを持っています。私は、特定の列のすべての値を上から下にどのように追加するのかを知りたいだけです。テキストファイルに価格列を追加して合計を表示する

テキストファイルの例。

40" 非商用LEDモニタ(海信); 1; 4735.00; 4440.00; 4175.00; 4055.00

ソフトウェアライセンス料 - 1年; 1; 1155.00; 1155.00; 1155.00; 1100.00

ですからとして。私はそれらの列のすべての値を追加したい6つの列があります見ることができます例:。。。列3は、(4735.00 + 1155.00)まで追加されます= 5890.00

助けてください

+0

爆発( ';' ...とで爆発 – splash58

+0

配列の必要な列を使用し、 ";" と配列内の数値を合計し、新しい文字列を再構築 – Andreas

答えて

2

を必要な手順は以下のとおりです。

  1. 変数のファイルの内容を取得します。 file_get_contentsまたはfreadを使用できます。
  2. 配列内のすべての行を取得します。
  3. 配列内の行のすべての個別データを取得します。
  4. 分離されたデータを使用して価格の合計を計算します。

例:

<?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"; 
} 
?> 
+0

以上 – Andreas

+0

あなたはチャンピオンです。ありがとう – CoderJoe

1

と同じですが、簡単に

$col_num = 2; 

$arr = array_map(function($v) { return explode(';', $v); }, file("test.txt")); 
echo array_sum(array_column($arr, $col_num)); 
関連する問題