Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]array_push a tablice wielowymiarowe
m72
post 26.06.2015, 19:19:40
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 25.12.2012

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


Panowie, nie dźwigam takiego tematu.
Mam tablice 2-wymiarową z gdzie są zawarte id_firmy, nazwa fotki i inne. Dane są porozrzucane w ten sposób że id_firmy moze się powtórzyć ale z inną fotką (kod wszystko wyjaśnia)
Na podstawie powyższej tablicy chcę zrobić następną już uporządkowaną w ten sposób, że nowa tablica będzie zaindeksowana identyfikatorami firm (id_firmy) a wierszami będą kolejne nazwy fotek ... czyli tak obrazowo.

fotki_firm=
[7]=>[f1,f3,f5,f5]
[6]=>[f6,f77]

Jak mam "push-nąć" dane to tych tablic ?
Rozpoznawanie czy jest już taki klucz w tablicy wyjściowej działa, nie wiem jak to dokończyć.
  1.  
  2. <?php
  3. $tablica_wejsciowa = array(
  4. array('id_firmy' => 7, 'nazwa_fotki' => 'f1', ),
  5. array( 'id_firmy' => 7, 'nazwa_fotki' => 'f3', ),
  6. array( 'id_firmy' => 7, 'nazwa_fotki' => 'f5', ),
  7. array( 'id_firmy' => 6, 'nazwa_fotki' => 'f6', ),
  8. array( 'id_firmy' => 6, 'nazwa_fotki' => 'f77', ),
  9. array( 'id_firmy' => 7, 'nazwa_fotki' => 'f5', )
  10. );
  11.  
  12. $fotki_firm = array();
  13. #echo '<pre>';print_r($tablica_wejsciowa);echo '</pre>';
  14.  
  15. for ($i = 0; $i < count($tablica_wejsciowa); $i++) {
  16. #echo '<pre>'; print_r ($tablica_wejsciowa[$i]['id_firmy']); echo '</pre>';
  17.  
  18. if(array_key_exists($tablica_wejsciowa[$i]['id_firmy'],$fotki_firm)){
  19. echo'<br/>jest juz klucz<br/>';
  20. echo '<pre>';print_r($fotki_firm);echo '</pre>';
  21. #array_push ?????????????????????
  22. }else{
  23. echo'<br/>niema jeszcze tego klucza<br/>';
  24. $fotki_firm[$tablica_wejsciowa[$i]['id_firmy']]=array();
  25. $fotki_firm[$tablica_wejsciowa[$i]['id_firmy']]=$tablica_wejsciowa[$i]['nazwa_fotki'];
  26. #array_push ??????????????
  27. };
  28. }
  29.  
  30. echo '<pre>';print_r($fotki_firm);echo '</pre>';
  31. ?>
Go to the top of the page
+Quote Post
ctom
post 26.06.2015, 19:50:17
Post #2





Grupa: Zarejestrowani
Postów: 321
Pomógł: 55
Dołączył: 19.04.2009

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


  1.  
  2. <?php
  3. $tablica_wejsciowa = array(
  4. array('id_firmy' => 7, 'nazwa_fotki' => 'f1', ),
  5. array( 'id_firmy' => 7, 'nazwa_fotki' => 'f3', ),
  6. array( 'id_firmy' => 7, 'nazwa_fotki' => 'f5', ),
  7. array( 'id_firmy' => 6, 'nazwa_fotki' => 'f6', ),
  8. array( 'id_firmy' => 6, 'nazwa_fotki' => 'f77', ),
  9. array( 'id_firmy' => 7, 'nazwa_fotki' => 'f5', )
  10. );
  11.  
  12. $fotki_firm = array();
  13.  
  14. array_map(function($row) use(&$fotki_firm) {
  15. $fotki_firm[$row['id_firmy']][] = $row['nazwa_fotki'];
  16. }, $tablica_wejsciowa);
  17. ?>



--------------------
Polecam MyDevil hosting idealny dla deweloperów
Go to the top of the page
+Quote Post
m72
post 26.06.2015, 20:29:09
Post #3





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 25.12.2012

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


"ctom" zabiłeś mnie prostotą rozwiązania biggrin.gif
Dzięki !
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2025 - 02:46