Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Grupowanie tablicy
arzach
post
Post #1





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

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


Witam mam taki kod
  1. $table[] = array('druzyna_name' => 'Polonia Warszawa', 'punkty' => 7);
  2. $table[] = array('druzyna_name' => 'Jagiellonia Bialystok', 'punkty' => 7);
  3. $table[] = array('druzyna_name' => 'GKS Belchatow', 'punkty' => 7);
  4. $table[] = array('druzyna_name' => 'Wisla Krakow', 'punkty' => 6);
  5. $table[] = array('druzyna_name' => 'Legia Warszawa', 'punkty' => 6);
  6.  
  7.  
  8. $new_table = array();
  9. foreach($table AS $value){
  10. if(!isset($new_table[$value['punkty']])){
  11. $new_table[$value['punkty']] = array($value);
  12. } else {
  13. // tutaj nie wiem jak ma byc
  14. }
  15. }
  16.  
  17. echo '<pre>';
  18. print_r($new_table);
  19. echo '</pre>';


I chce pogrupować tablice po punktach. Kod który napisałem działa ale nie do końca dodaje tylko po jednej drużynie. Tablica jaką chce uzyskać to
Kod
Array
(
    [7] => Array
        (
            [0] => Array
                (
                    [druzyna_name] => Polonia Warszawa
                    [punkty] => 7  
                )
            [1] => Array
                (
                    [druzyna_name] => Jagiellonia Bialystok
                    [punkty] => 7  
                )

        )

    [6] => Array
        (
            [0] => Array
                (
                    [druzyna_name] => GKS Belchatow
                    [punkty] => 6
                )
            [1] => Array
                (
                    [druzyna_name] => Wisla Krakow
                    [punkty] => 6
                )
            [2] => Array
                (
                    [druzyna_name] => Legia Warszawa
                    [punkty] => 6
                )

        )


)


Proszę o pomoc

Ten post edytował arzach 31.07.2011, 19:29:58
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 558
Pomógł: 6315
Dołączył: 27.12.2004




Przeciez w poprzednim temacie napisałem ci skrypt, który na jednym z etapów robił dokładnie to co chcesz teraz :/ No już skopiować i wkleić nie potrafisz?

Cały kod:
  1. $table[] = array('druzyna_name' => 'Polonia Warszawa', 'punkty' => 9);
  2. $table[] = array('druzyna_name' => 'Jagiellonia Bialystok', 'punkty' => 7);
  3. $table[] = array('druzyna_name' => 'GKS Belchatow', 'punkty' => 7);
  4. $table[] = array('druzyna_name' => 'Wisla Krakow', 'punkty' => 6);
  5. $table[] = array('druzyna_name' => 'Legia Warszawa', 'punkty' => 6);
  6. $table[] = array('druzyna_name' => 'Arka Gdynia', 'punkty' => 4);
  7.  
  8. $table2 = array();
  9. foreach($table AS $key => $value){
  10. if (!isset($table2[$value['punkty']]))
  11. $table2[$value['punkty']] = array();
  12. $table2[$value['punkty']][] = $value;
  13. }
  14.  
  15. $table3 = array();
  16. foreach ($table2 as $v){
  17. if (count($v) > 1)
  18. $table3 = array_merge($table3,$v);
  19. }
  20. print_r($table3);

A wycinek o którym mowa to:
  1.  
  2. $table2 = array();
  3. foreach($table AS $key => $value){
  4. if (!isset($table2[$value['punkty']]))
  5. $table2[$value['punkty']] = array();
  6. $table2[$value['punkty']][] = $value;
  7. }
  8.  
  9.  
Go to the top of the page
+Quote Post
arzach
post
Post #3





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

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


Dzięki już czaje. Przepraszam nie potrzebnie ten temat napisałem.
Go to the top of the page
+Quote Post

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: 23.09.2025 - 06:54