Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Sortowanie dwóch tablic wielowymiarowych
pehaperowiec
post
Post #1





Grupa: Zarejestrowani
Postów: 91
Pomógł: 8
Dołączył: 26.09.2011

Ostrzeżenie: (10%)
X----


Mam takie 2 tablice
Kod
Array
(
    [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
        )

)
Jak je posortować po polu date a następnie połączyć te dwie tabele w 1 by była posortowana względem daty?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tomxx
post
Post #2





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:
  1. <?php
  2. #Dwie tablice, które chcesz połączyć w jedną
  3. $tablica1 = array(
  4. array("id"=>7, "topic"=>sdds9990, "news_short"=>sdfd, "date"=>"2014-01-02 22:36:00", show_news=>1),
  5. /* ... */
  6. )
  7.  
  8. $tablica2 = array(
  9. array("id"=7, /* ... */),
  10. /* ... */
  11. )
  12. #Funkcja sortująca tablicę wg daty
  13. function sortowanie($a, $b)
  14. {
  15. if($a["date"] > $b["date"]) return -1;
  16. return 1;
  17. }
  18.  
  19. #Teraz sortowanie tablic:
  20. uasort($tablica1, "sortowanie");
  21. uasort($tablica2, "sortowanie");
  22.  
  23. #Pętla łącząca tablice (zmienna $tablica to będzie połączona tablica)
  24. for($i = 0; $i < count($tablica1); $i++) {
  25. $tablica[] = $tablica1[$i];
  26. $tablica[] = $tablica2[$i];
  27. }
  28.  
  29. ?>
Po prostu zamieniasz funkcje sortujące wstawiasz bezpośrednio po utworzeniu obu tablic.

Ten post edytował tomxx 11.01.2014, 12:21:19
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: 13.10.2025 - 21:49