Potrzebuje pomocy w temacie tablic prawdopodobnie.
Mam w osobnym pliku z mienna ktora "trzyma" tablice z zawsze piecioma wartosciami. Te wartosci sa aktualizowane wiec nie sa one zawsze takie same ale dajmy na to ze dla przykladu bedzie to:
$p = array('Tomek Domek' => '25' , 'Kasia Kasienka' => '20' , 'Tom Tom' => '15', 'Chris Zerowy' => '10' , 'Kwiatkowski Staszek' => '5');
Te wartosci liczbowe zawsze sa takie same tylko nazwy sie zmieniaja.
I teraz mam w pliki .txt taka strukture [linia o linii]
1532877777||29-07-2018||nazwa||Tomek Domek||25||Marek // poprawnosc z kluczem nr 0 1532877777||29-07-2018||nazwa||Kasia Kasienka||20||Marek // poprawnosc z kluczem nr 1 1532877777||29-07-2018||nazwa||Chris Zerowy||15||Marek // brak 1532877777||29-07-2018||nazwa||Kwiatkowski Staszek||10||Marek // brak 1532877777||29-07-2018||nazwa||Tom Tom||5||Marek // brak 1532877777||29-07-2018||nazwa||Tom Tom||25||Tomek // brak 1532877777||29-07-2018||nazwa||Tomek Domek||20||Tomek // brak 1532877777||29-07-2018||nazwa||Chris Zerowy||15||Tomek // brak 1532877777||29-07-2018||nazwa||Kwiatkowski Staszek||10||Tomek // brak 1532877777||29-07-2018||nazwa||Kasia Kasienka||5||Tomek // brak 1532877777||29-07-2018||nazwa||Tomek Domek||25||Tata // poprawnosc z kluczem nr 0 1532877777||29-07-2018||nazwa||Kasia Kasienka||20||Tata // poprawnosc z kluczem nr 1 1532877777||29-07-2018||nazwa||Tom Tom||15||Tata // poprawnosc z kluczem nr 2 1532877777||29-07-2018||nazwa||Kwiatkowski Staszek||10||Tata // brak 1532877777||29-07-2018||nazwa||Chris Zerowy||5||Tata // brak itd...
Teraz tlumacze. Tablica $p zawiera klucze ktore sie zmieniaja ale wartosci zawsze sa takie same czyli dla klucza 0 bedzie 25, dla klucza 1=>20, klucz 2=>15, klucz 3=>10 i klucz 4=>5
W pliku jak widac jest po pięć linii dla kazdego jakby imienia [ostatni indeks]. Jest tyle samo linii ile indeksow w zmiennej $p. Ilosc linii nie jest okreslona. Chodzi o porownanie wystepowania tych liczb i przypisac to konkretnym danym.
To jest typowane ktore zapisywane jest wpliku przez userow. Maja pięć mozliwosci i musza je wybrac. Kiedy typowanie sie konczy ja podaje kto wygral [ tablica $p ]
Przyklad j/w czyli jesli klucz 0 z tablicy i jego wartosc [przykladowo 'Tomek Domek' => '25'] rowna jest wartosci z indeksow 3 i 4 z pliku nalezy przypisac wartosc klucza 3 do wartosci klucza 4 tyle ze trzeba wszystkie wartosci sprawdzac z tymi z pliku czyli wynikiem w tym przykladzie bedzie:
Marek trafnie wytypowal pierwsze miejsce osoby Tomek Domek. Liczba punktow 25 Marek trafnie wytypowal drugie miejsce osoby Kasia Kasienka. Liczba punktow 20 // kolejne linie sa dla usera Tomek ktory nic nie trafil i nic tutaj nie moze byc wyswietlone Tata trafnie wytypowal pierwsze miejsce osoby Tomek Domek. Liczba punktow 25 Tata trafnie wytypowal drugie miejsce osoby Kasia Kasienka. Liczba punktow 20 Tata trafnie wytypowal trzecie miejsce osoby Tom Tom. Liczba punktow 15 itd..
Zawsze jest pięć. Co nie jest zgodne nie moze sie wyswietlic. Niestety nie daje rady sam z tym i jest to za trudne dla mnie. Ktos moglby mi pomoc ?
Ok. Zrobilem przyklad zeby sprawdzic dzialanie i dziala lecz na dwoch tablicach z piecioma kluczami i wartosciami. Problem pojawia sie kiedy chce wstawic tablice z pliku.
<?php $tablica1 = array("Massa" => '25', 'Kubica' => '20', 'Vettel' => '15', 'Lauda' => '10', 'Raikonnen' => '5'); $tablica2 = array('Massa' => '25', 'Vettel' => '20', 'Kubica' => '15' , 'Lauda' => '10', 'Raikonnen' => '5'); foreach($tablica1 as $klucz => $wartosc) { if($wartosc==$tablica2[$klucz]) { } } ?>
Przyklad wyswietla TYLKO te klucze i wartosci ktore sa na identycznych miejscach z identycznymi wartosciami. I o to mi chodzi tylko jak zrobic to z plikiem gdzie moze byc i 1000 linii
Ok poradzilem sobie ale mam jeszcze jedno pytanie. W pliku sa wartosci liczbowe, nick i nazwa osoby typowanej. W jaki sposob zsumowac dla kazdej z osob wartosci i je wyswietlic. Zalozmy ze osoba TOMEK wytypuje prawidlowo miejsce pierwsze (25pkt) i trzecie (15pkt) i teraz chcialbym to dodac do siebie w postaci:
PLik .txt
1532877147||29-07-2018||nazwa||Kubica Robertl||25||Tomek 1532877147||29-07-2018||nazwa||Vettel Sebastian||15||Tomek 1532877147||29-07-2018||nazwa||Ktos inny||25||Kasia 1532877147||29-07-2018||nazwa||Ktos inny 2||20||Kasia 1532877147||29-07-2018||nazwa||Vettel Sebastian||15||Kasia
Wynik:
Tomek ma wsumie 40 pkt. Kasia ma w sumie: 15 pkt