Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] multisortowanie wielu tablic względem jednej
shpaque
post 18.06.2018, 13:40:24
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

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


Witam serdecznie,
mam takie oto pytanie - czy i jak/ da się posortować wiele tablic zdględem jednej z nich? Kod poniżej, najpierw teoria:

- mam dwie pętle z dwiema tablicami (razem 4)
- w 1. pętli jedna tablica to tytuły działów, a druga - przypisane do nich numery stron
- w pętli 2. jedna to tytuły, a druga przypisane do nich strony

chodzi o to zeby wszystko wyfiltrować tak, żeby było od pierwszej strony do ostatniej typu: DZIAŁ I, strona 2 (w nim: link 1, str 3; link 2, str 5; link 3 str 15), DZIAŁ II strona 16 (w nim link 1, str 18...)

  1. if (!empty($_POST['mainTitle']))
  2. {
  3. $countMains = count($_POST['mainTitle']);
  4. for ($m = 0; $m < $countMains; $m++)
  5. {
  6. $mainLink[] = $_POST['mainTitle'][$m];
  7. $mainPage[] = $_POST['mainPage'][$m];
  8.  
  9. $countLinks = count($_POST['linkTitle']);
  10. for ($l = 0; $l < $countLinks; $l++)
  11. {
  12. $linkTitle[] = $_POST['linkTitle'][$l];
  13. $linkPage[] = $_POST['linkPage'][$l];
  14. }
  15. }
  16. }
Go to the top of the page
+Quote Post
LowiczakPL
post 20.06.2018, 06:48:50
Post #2





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

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


możesz sobie to rozbudować do swoich potrzeb

  1. function sortArrayByArray(array $array, array $orderArray, $idA, $idB) {
  2. global $order;
  3.  
  4. $posA = $order[$a[$idA]];
  5. $posB = $order[$b[$idB]];
  6.  
  7. if ($posA == $posB) {
  8. return 0;
  9. }
  10. return ($posA < $posB) ? -1 : 1;
  11. }


--------------------
Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
Go to the top of the page
+Quote Post
nospor
post 20.06.2018, 15:19:03
Post #3





Grupa: Moderatorzy
Postów: 36 441
Pomógł: 6290
Dołączył: 27.12.2004




@LowiczakPL kod co tu wstawiles nie ma najmniejszego sensu....
Raz ze funkcja ma argumenty ktore nigdy nie sa uzyte
Dwa ze uzywasz jakiejs tablicy globalnej ktora czort wie jak wyglada
Trzy ze jest to totalnie wyrwany kawalek z wiekszego kontekstu i sam w sobie nic nie wnosi procz pokazania: "Jak nie pisac funkcji"


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Lord
post 20.06.2018, 21:20:31
Post #4





Grupa: Zarejestrowani
Postów: 239
Pomógł: 32
Dołączył: 10.03.2004

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


trochę ciężko mi sobie ogarnąć jaki ma być efekt i chyba inaczej bym do tego podszedł. Zerknij sobie na przykład 3. Może to ci pomoże.

http://php.net/manual/en/function.array-multisort.php
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 - 20:10