Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sumowanie danych na 2 plikach
piotrdd2
post
Post #1





Grupa: Zarejestrowani
Postów: 136
Pomógł: 2
Dołączył: 13.05.2003
Skąd: Przemyśl

Ostrzeżenie: (0%)
-----


Mam dwa pliki, zapisane są w nich dane np. w takim stylu:

Pierwszy plik:
5|^^^|Adam
8|^^^|Bartek
1|^^^|Kamil

Drugi plik:
2|^^^|Bartek
1|^^^|Adam
3|^^^|Wojtek
8|^^^|Kamil

Plik pierwszy i drugi mogą zawierać różną ilość danych, w pliku pierwszym może być np. login Ziomek i odpowiadająca jemu liczba, a w drugim już tego loginu nie będzie – lub odwrotnie.

Chodzi mi o to jak zrobić aby zsumowało liczby według odpowiadających im loginów

tzn.
6|^^^|Adam
10|^^^|Bartek
9|^^^|Kamil
3|^^^|Wojtek

Jakich do tego trzeba użyć funkcji?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
evo
post
Post #2





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 4.02.2003

Ostrzeżenie: (0%)
-----


nie chce mi sie interpretowac twojego kodu :wink:
[php:1:f7e0b34fa5]<?php
$separator='|^^^|';
$p1=file('plik1.txt');
$p2=file('plik2.txt');
$result=array();

for($i=0;$i<count($p1);$i++){
$ex1=explode($separator,trim($p1[$i]));
for($i2=0;$i2<count($p2);$i++){
$ex2=explode($separator,trim($p2[$i]));
if($ex1[1]==$ex2[1]){
$result[]=($ex1[0]+$ex2[0]).$separator.$ex1[1];
continue;
}
$result[]=$ex2[0].$separator.$ex2[1];
}
$result[]=$ex1[0].$separator.$ex1[1];
}

?>[/php:1:f7e0b34fa5]

1.To tak na szybko bez sprawdzania. Rozszerz se to o kompatybilnosc z wielkimi i malymi literami by 'lolek'=='Lolek'
2. Skrypt nie bedzie dzialal poprawnie gdy w 1 pliku mamy dwa taklie same loginy, jesli chcesz by to uwzglednial to pomysl 8)
3. wynik jet w tablicy $result
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 10:16