2016-04-04 20 views
1

biraz yardıma ihtiyacınız var. Bir müşterinin satın almak için seçtiği ürünleri içeren bir metin dosyam var. Sadece tüm değerleri belirli sütunlara nasıl yukarıdan aşağıya kadar eklerim bilmek istiyorum.Fiyat raporuna sütunu eklemek için bir metin dosyasına toplam

Metin dosyası örneği.

40" Non Commercial LED Monitör (Hisense); 1; 4735,00; 4440,00; 4175,00; 4055,00

Yazılım Lisans Ücreti - 1 yıl; 1; 1155.00; 1155.00; 1155.00; Yani 1.100,00

senin kadar altı sütun bulunmaktadır görebilirsiniz ben bu sütunların tüm değerleri eklemek istediğiniz Ör.:... Sütun 3 (4735.00 + 1155.00) = 5890.00 kadar katacak

Lütfen yardım

+0

patlayabilir (';' ... ve patlayabilir – splash58

+0

dizinin gerekli sütunu kullanımı ";" ve dizideki sayıları toplayın ve – Andreas

cevap

2

gereken adımlar şunlardır:

  1. Değişken dosya içeriğini alın. File_get_contents veya fread'i kullanabilirsiniz.
  2. Dizede tüm satırları alın.
  3. dizisindeki tüm ayrı satır verilerini al. Ayrılmış verileri kullanarak fiyatın toplamı.

Örnek:

<?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

numaralı yeni dizgiyi yeniden oluşturun. – Andreas

+0

'un üstünde ve üstünde Siz şampiyonsunuz. – CoderJoe

1

ve aynı, ancak, daha kolay

$col_num = 2; 

$arr = array_map(function($v) { return explode(';', $v); }, file("test.txt")); 
echo array_sum(array_column($arr, $col_num)); 
İlgili konular