Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Łączenie dwóch tablic
arzach
post
Post #1





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


Witam mam takie dwie tablice
  1. $array[] = Array('druzyna_name' => 'Polonia Warszawa', 'punkty' => 10);
  2. $array[] = Array('druzyna_name' => 'Jagiellonia Białystok', 'punkty' => 10);
  3. $array[] = Array('druzyna_name' => 'Wisła Kraków', 'punkty' => 9);
  4. $array[] = Array('druzyna_name' => 'Korona Kielce', 'punkty' => 7);
  5.  
  6. $array_direct_matches[] = Array('druzyna_name' => 'Zagłębie Lubin', 'punkty' => 10, 'LM' => 1, 'PktB' => 3, 'RB' => 1)
  7. $array_direct_matches[] = Array ('druzyna_name' => 'Arka Gdynia', 'punkty' => 10, 'LM' => 1, 'PktB' => 0, 'RB' => -1);
  8. $array_direct_matches[] = Array('druzyna_name' => 'Cracovia', 'punkty' => 10, 'LM' => 1, 'PktB' => 3, 'RB' => 1)
  9. $array_direct_matches[] = Array ('druzyna_name' => 'Polonia Bytom', 'punkty' => 10, 'LM' => 1, 'PktB' => 0, 'RB' => -1);



I chce tablice $array_direct_matches wstawić na koniec punktów tak by sie zgadzały punkty wynik jaki chce uzyskać

  1. $array[] = Array('druzyna_name' => 'Polonia Warszawa', 'punkty' => 10);
  2. $array[] = Array('druzyna_name' => 'Jagiellonia Białystok', 'punkty' => 10);
  3. // tutaj wstawic na koniec
  4. $array[] = Array('druzyna_name' => 'Zagłębie Lubin', 'punkty' => 10, 'LM' => 1, 'PktB' => 3, 'RB' => 1)
  5. $array[] = Array ('druzyna_name' => 'Arka Gdynia', 'punkty' => 10, 'LM' => 1, 'PktB' => 0, 'RB' => -1);
  6. $array[] = Array('druzyna_name' => 'Wisła Kraków', 'punkty' => 9);
  7. //tutaj wstawic na koniec
  8. $array[] = Array('druzyna_name' => 'Cracovia', 'punkty' => 9, 'LM' => 1, 'PktB' => 3, 'RB' => 1)
  9. $array[] = Array ('druzyna_name' => 'Polonia Bytom', 'punkty' => 9, 'LM' => 1, 'PktB' => 0, 'RB' => -1);
  10. $array[] = Array('druzyna_name' => 'Korona Kielce', 'punkty' => 7);


Obecnie napisałem coś takiego
  1. foreach($array AS $kay => $value){
  2.  
  3. if(isset($new_table[$kay]['punkty']) && isset($new_table[$kay-1]['punkty'])){
  4.  
  5.  
  6. if($new_table[$kay]['punkty'] !== $new_table[$kay-1]['punkty']){
  7.  
  8. // sprawdźmy czy poprzedni element jest równy bieżącemu jeśli
  9. //nie sprawdzamy czy poprzedni element istniej w tablicy
  10. //$array_direct_matches jeśli tak wstawiamy na koniec
  11.  
  12. }
  13. }
  14. }


I dalej nie wiem jak mam to wstawić proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
arzach
post
Post #2





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


Chyba nie rozumiesz o co mi chodzi.

Z bazy danych pobieram dane na temat drużyny liczbę punktów bramki zdobyte bramki stracone i po tym sortuje. W bazie danych nie jestem w stanie policzyć czy drożyny które mają tą samą liczbę pkt gramy miedzy sobą mecze.

Dla tego z bazy danych ładuje wszystko do tablicy szukam drużyn które mają tą samą liczbę pkt. Potem grupuje tablice z druzami po punktach i tutaj sprawdzam czy drużny gramy między sobą mecz jeśli tak usuwam te drożyny z tablicy głównej i liczę dla nich pkt w meczach bezpośrednich i potem tablice z meczami drożyn bezpośrednich sortuję

i na koniec tak posortowaną tablice muszę wstawić na koniec punktów tak by się pkt zgadzały

Dobra załóżmy mam taką tablice
  1. $array[] = Array('druzyna_name' => 'Polonia Warszawa', 'punkty' => 10, 'RB' => 6, 'BZ' => 3);
  2. $array[] = Array('druzyna_name' => 'Korona Kielce', 'punkty' => 7, 'RB' => 6, 'BZ' => 3);
  3. $array[] = Array('druzyna_name' => 'Jagiellonia Białystok', 'punkty' => 10, 'RB' => 4, 'BZ' => 3);
  4. $array[] = Array('druzyna_name' => 'Wisła Kraków', 'punkty' => 9, 'RB' => 4, 'BZ' => 3);
  5. $array[] = Array('druzyna_name' => 'Zagłębie Lubin', 'punkty' => 10, 'RB' => 5, 'BZ' => 3 'LM' => 1, 'PktB' => 3, 'RBB' => 1)
  6. $array[] = Array('druzyna_name' => 'Arka Gdynia', 'punkty' => 10, 'RB' => 2, 'BZ' => 3 'LM' => 1, 'PktB' => 0, 'RBB' => -1);
  7. $array[] = Array('druzyna_name' => 'Cracovia', 'punkty' => 9, 'RB' => 1, 'BZ' => 5 'LM' => 1, 'PktB' => 3, 'RBB' => 1)
  8. $array[] = Array('druzyna_name' => 'Polonia Bytom', 'punkty' => 9, 'RB' => -5, 'BZ' => 2 'LM' => 1, 'PktB' => 0, 'RBB' => -1);


I czy za pomocą usort jestem w stanie posortować tak tablice

gdy punkty są te same sortowało po punkty DESC, RB DESC, BZ DESC A gdy pkt są te same i KLUCZ PktB istnieje
to po
punkty DESC, RB DESC, BZ DESC, PktB DESC RBB DESC ale tak by ci co mają PktB byli na końcu
czyli by wyszło coś takiego
  1. $array[] = Array('druzyna_name' => 'Polonia Warszawa', 'punkty' => 10);
  2. $array[] = Array('druzyna_name' => 'Jagiellonia Białystok', 'punkty' => 10);
  3. $array[] = Array('druzyna_name' => 'Zagłębie Lubin', 'punkty' => 10, 'LM' => 1, 'PktB' => 3, 'RB' => 1)
  4. $array[] = Array ('druzyna_name' => 'Arka Gdynia', 'punkty' => 10, 'LM' => 1, 'PktB' => 0, 'RB' => -1);
  5. $array[] = Array('druzyna_name' => 'Wisła Kraków', 'punkty' => 9);
  6. $array[] = Array('druzyna_name' => 'Cracovia', 'punkty' => 9, 'LM' => 1, 'PktB' => 3, 'RB' => 1)
  7. $array[] = Array ('druzyna_name' => 'Polonia Bytom', 'punkty' => 9, 'LM' => 1, 'PktB' => 0, 'RB' => -1);
  8. $array[] = Array('druzyna_name' => 'Korona Kielce', 'punkty' => 7);


Ten post edytował arzach 2.08.2011, 14:37:23
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: 14.10.2025 - 09:52