![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 8 Dołączył: 26.09.2011 Ostrzeżenie: (10%) ![]() ![]() |
Mam takie 2 tablice
Kod Array Jak je posortować po polu date a następnie połączyć te dwie tabele w 1 by była posortowana względem daty?
( [0] => Array ( [id] => 7 [topic] => sdds9990 [news_short] => sdfd [date] => 2014-01-02 22:36:00 [show_news] => 1 ) [1] => Array ( [id] => 10 [topic] => as [news_short] => asd [date] => 2014-01-07 15:26:09 [show_news] => 0 ) [2] => Array ( [id] => 11 [topic] => aaa [news_short] => sd [date] => 2014-01-10 11:15:01 [show_news] => 1 ) ) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 22 Dołączył: 10.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
http://wklej.to/i9CTx
Części z merge nie rozumiem bo ja tam widzę 1 tabelę z 3 tabelami w środku ![]() Ten post edytował YourFrog 10.01.2014, 14:25:28 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 8 Dołączył: 26.09.2011 Ostrzeżenie: (10%) ![]() ![]() |
Chyba się troszke nie zrozumieniliśmy:D więc jeszcze raz:D dla przykładu, mam 2 tablice
Kod Array oraz ( [0] => Array ( [id] => 7 [topic] => sdds9990 [news_short] => sdfd [date] => 2014-01-02 22:36:00 [show_news] => 1 ) [1] => Array ( [id] => 10 [topic] => as [news_short] => asd [date] => 2014-01-07 15:26:09 [show_news] => 0 ) [2] => Array ( [id] => 11 [topic] => aaa [news_short] => sd [date] => 2014-01-10 11:15:01 [show_news] => 1 ) ) Kod Array i chciałbym otrzymać:( [0] => Array ( [id] => 7 [topic] => sdds9990 [news_short] => sdfd [date] => 2014-01-05 22:36:00 [show_news] => 1 ) [1] => Array ( [id] => 10 [topic] => as [news_short] => asd [date] => 2014-01-11 15:26:09 [show_news] => 0 ) [2] => Array ( [id] => 11 [topic] => aaa [news_short] => sd [date] => 2014-01-20 11:15:01 [show_news] => 1 ) ) Kod Array czyli połączone 2 tablice, która będzie posortowana względem daty ( [0] => Array ( [id] => 7 [topic] => sdds9990 [news_short] => sdfd [date] => 2014-01-02 22:36:00 [show_news] => 1 ) [1] => Array ( [id] => 7 [topic] => sdds9990 [news_short] => sdfd [date] => 2014-01-05 22:36:00 [show_news] => 1 ) [2] => Array ( [id] => 10 [topic] => as [news_short] => asd [date] => 2014-01-07 15:26:09 [show_news] => 0 ) [3] => Array ( [id] => 10 [topic] => as [news_short] => asd [date] => 2014-01-11 15:26:09 [show_news] => 0 ) [4] => Array ( [id] => 11 [topic] => aaa [news_short] => sd [date] => 2014-01-10 11:15:01 [show_news] => 1 ) [5] => Array ( [id] => 11 [topic] => aaa [news_short] => sd [date] => 2014-01-20 11:15:01 [show_news] => 1 ) ) ![]() Cytat Części z merge nie rozumiem bo ja tam widzę 1 tabelę z 3 tabelami w środku tongue.gif Możesz jasniej?![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 22 Dołączył: 10.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
http://wklej.to/EgiNJ
Mam nadzieję że teraz dobrze zrozumiałem ![]() Chodziło mi oto że w php jest funkcja łącząca dowolną ilość tablic ze sobą nazwya się ona "array_merge" jednak ma jedną wadę / zaletę. Łącząc tablice stara się zachować przypisanie do kluczy co powoduje nadpisywanie się kluczy ze sobą. W przykładzie naskrobałem na szybko metodę robiącą to samo ale nie zachowującą przypisanie do kluczy. Po złączeniu tablic musisz wywołać metodę sortującą w naszym przypadku to funkcja bez nazwy przekazana jako parametr do uasort. @Edit http://wklej.to/5dtMf Możesz jeszcze spróbować takiej funkcji na większe podobieństwo z array_merge jednak wydaje mi się gorsza w użyciu. Ten post edytował YourFrog 10.01.2014, 15:23:26 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 8 Dołączył: 26.09.2011 Ostrzeżenie: (10%) ![]() ![]() |
a jak tego użyć gdy mam 2 tablice? Bo chciałbym by z dwóch takich co podałem w przykładzie powstała 1 posortowana względem daty. Czy mógłbyś mi pomóc?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 172 Pomógł: 27 Dołączył: 5.10.2013 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 8 Dołączył: 26.09.2011 Ostrzeżenie: (10%) ![]() ![]() |
Nie rozumiem... mógłbyś mi rozwinąc jak moge połaczyc te 2 tablice w 1 i posortowąć po dacie?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 172 Pomógł: 27 Dołączył: 5.10.2013 Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście jeśli masz PHP 5 >= 5.4, to możesz używać [ ... ] dla tablic. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 8 Dołączył: 26.09.2011 Ostrzeżenie: (10%) ![]() ![]() |
No zgadza się, dostaje taki wynik:
Kod Array Tylko jak teraz powyciągać dane w takiej kolejności:D indeksy nei są po kolei:D
( [1] => Array ( [id] => 4 [gallery_name] => asd [date] => 2014-01-11 06:40:29 [show_gallery] => 1 [img_main] => b_adv.png ) [6] => Array ( [id] => 12 [topic] => 1 [news_short] => aa [date] => 2014-01-11 06:38:51 [show_news] => 1 ) [3] => Array ( [id] => 3 [gallery_name] => 2 [date] => 2014-01-10 14:48:41 [show_gallery] => 1 [img_main] => img.png ) [5] => Array ( [id] => 2 [gallery_name] => 1 [date] => 2014-01-10 14:35:50 [show_gallery] => 1 [img_main] => b_logo.png ) [4] => Array ( [id] => 11 [topic] => aaa [news_short] => sd [date] => 2014-01-10 11:15:01 [show_news] => 1 ) [2] => Array ( [id] => 10 [topic] => as [news_short] => asd [date] => 2014-01-07 15:26:09 [show_news] => 0 ) [0] => Array ( [id] => 7 [topic] => sdds9990 [news_short] => sdfd [date] => 2014-01-02 22:36:00 [show_news] => 1 ) ) |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 172 Pomógł: 27 Dołączył: 5.10.2013 Ostrzeżenie: (0%) ![]() ![]() |
Indeksy nie są po kolei, ponieważ tablica jest posortowana wg daty (tak, jak wcześniej chciałeś).
Rozumiem jednak, że chcesz najpierw posortować obie tablice osobno, a potem połączyć. W takim wypadku: Po prostu zamieniasz funkcje sortujące wstawiasz bezpośrednio po utworzeniu obu tablic. Ten post edytował tomxx 11.01.2014, 12:21:19 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
To Ci "zresetuje" indeksy tablicy:
http://php.net/manual/en/function.array-values.php -------------------- |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 172 Pomógł: 27 Dołączył: 5.10.2013 Ostrzeżenie: (0%) ![]() ![]() |
uasort
uasort zachowuje skojarzenia kluczy |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 20:33 |