Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]sortowanie do jedej tablicy
presscot
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 10.04.2007

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


Witam!!
Posiadam dwie tablice z obiektami. Całą tablice dzial chciałbym umieścić w tablicy links w ten sposób, aby w przypadku kiedy sciezka się zgadza to wrzucam obiekt do ->next i jesli do sciezki z tego obiektu pasuje jakas inna z tablicy dzial to tez przydzielam do next aktualnego obiektu itd.

  1. <?php
  2. class Test {
  3.  
  4. var $next=array();
  5. var $id;
  6. function show() {
  7. return explode("/", $this->link) ;
  8. }
  9. }
  10.  
  11.  
  12. $dzial=array();
  13. $links=array();
  14.  
  15. $links[0]= new Test;
  16. $links[0]->link="1";
  17. $dzial[0] = new Test;
  18. $dzial[0]->link="1/2";
  19. $dzial[0]->id="1";
  20. $dzial[1] = new Test;
  21. $dzial[1]->link="1/2/4";
  22. $dzial[1]->id="2";
  23. $dzial[2] = new Test;
  24. $dzial[2]->link="1/2/4/5";
  25. $dzial[2]->id="3";
  26. $dzial[3] = new Test;
  27. $dzial[3]->link="1/3";
  28. $dzial[3]->id="4";
  29.  
  30. function sortspecial($hh,$ff){
  31. global $dzial;
  32. for($g=0;$g<count($dzial);$g++){
  33.  
  34. $nadrzedne=$hh->show();
  35. $podrzedne=$dzial[$g]->show();
  36. if($nadrzedne[$ff]==$podrzedne[$ff]) {
  37.  
  38. if(!isset($podrzedne[$ff+2]))
  39. array_push($hh->next, sortspecial($dzial[$g],$ff+1));
  40. }
  41. }
  42.  
  43. return $hh;
  44. }
  45.  
  46. for($l=0;$l<count($links);$l++){
  47.  
  48. for($h=0;$h<count($dzial);$h++){
  49. $nadrzedne=$links[$l]->show();
  50. $podrzedne=$dzial[$h]->show();
  51.  
  52. if($nadrzedne[0]==$podrzedne[0]) {
  53. if(!isset($podrzedne[2]))
  54. array_push($links[$l]->next, sortspecial($dzial[$h],1));
  55. }
  56. }
  57. }
  58.  
  59.  
  60. $testa=$links[0]->next;
  61. $testb=$testa[0]->next;
  62. echo("pierwszy: ".$testa[1]->id."<br> drugi: ".$testb[0]->id);
  63. ?>


A oto to co udało mi się wymyśleć przez cały dzien:P
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: 25.08.2025 - 04:22