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
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




To teraz spójrz na swój kod, w tablicę $array_direct_matches i powiedz mi może dlaczego 'Cracovia' i 'Polonia Bytom' mają zamiast 10 tylko 9 punktów, bo poza tym nie widzę problemu z posortowaniem po punktach zdefiniowaną przez usera funkcją. I to skąd są dane oraz jakie nie jest żadnym problemem. To "tylko" kwestia napisania funkcji sortującej z głową.

EDIT: I ilość kryteriów nie ma tu znaczenia. To Ci załatwią odpowiednie IF w samej funkcji, a z kolei PktB załatwi isset. Dlatego napisałem, że funkcja sorująca musi być napisana "z głową", by Ci się do kryteriów dopasowała.
Powód edycji: [thek]: Po dopisku usera :)
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: 12.10.2025 - 17:39