Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Złączenie dwóch tablic po kluczu
miedzna
post 20.06.2016, 09:11:33
Post #1





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

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


Hej, jak połączyć dwie poniższe tablice (po kluczu [id] => ..), żeby otrzymać listę w stylu:

Jan Kowalski
- Artykuł 1
- Artykuł 2

Anna Kowalska
- Artykuł 3
- Artykuł 4

  1. $array1 = Array
  2. (
  3. [14] => Array
  4. (
  5. [id] => 14
  6. [first_name] => Jan
  7. [last_name] => Kowalski
  8. )
  9.  
  10. [13] => Array
  11. (
  12. [id] => 13
  13. [first_name] => Anna
  14. [last_name] => Kowalska
  15. )
  16. );
  17.  
  18.  
  19.  
  20.  
  21. $array2 = Array
  22. (
  23. [0] => Array
  24. (
  25. [id] => 14
  26. [article_id] => 289
  27. [article_name] => Artykuł 1
  28. )
  29.  
  30. [1] => Array
  31. (
  32. [id] => 14
  33. [article_id] => 304
  34. [article_name] => Artykuł 2
  35. )
  36.  
  37. [3] => Array
  38. (
  39. [id] => 13
  40. [article_id] => 337
  41. [article_name] => Artykuł 3
  42. )
  43.  
  44. [4] => Array
  45. (
  46. [id] => 13
  47. [article_id] => 322
  48. [article_name] => Artykuł 4
  49. )
  50. );


Ten post edytował miedzna 20.06.2016, 09:15:31
Go to the top of the page
+Quote Post
redeemer
post 20.06.2016, 09:22:26
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Na szybko:
  1. <?php
  2.  
  3. $a1 = [
  4. 14 => [ 'id' => 14, 'first_name' => 'Jan', 'last_name' => 'Kowalski' ],
  5. 13 => [ 'id' => 13, 'first_name' => 'Anna', 'last_name' => 'Kowalska' ]
  6. ];
  7.  
  8. $a2 = [
  9. [ 'id' => 14, 'article_name' => "Artykul 1" ],
  10. [ 'id' => 14, 'article_name' => "Artykul 2" ],
  11. [ 'id' => 13, 'article_name' => "Artykul 3" ],
  12. [ 'id' => 13, 'article_name' => "Artykul 4" ],
  13. [ 'id' => 15, 'article_name' => "Artykul 0" ],
  14. ];
  15.  
  16. $ret = [];
  17. foreach($a2 as $a) {
  18. $author = array_key_exists($a['id'], $a1) ? $a1[$a['id']]['first_name']." ".$a1[$a['id']]['last_name'] : 'Nieznany';
  19. $ret[$author][] = $a['article_name'];
  20. }
  21.  
  22. var_dump($ret);
Jeżeli natomiast wyciągasz te dane z bazy, to prawdopodobnie możesz to zrobić na poziomie zapytania.


--------------------
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: 16.04.2024 - 15:05