Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]budowanie linków z tablicy wielowymiarowej
Krismen
post 1.06.2020, 17:31:57
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 5.02.2009

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


Witam, próbuję budować linki takim kodem.

  1. $tablica['owoce'][5]='banan';
  2. $tablica['owoce'][10]='pomarancza';
  3. $tablica['owoce'][11]='cytryna';
  4. $tablica['warzywa'][15]='marchewka';
  5. $tablica['warzywa'][17]='pietruszka';
  6. $tablica['warzywa'][20]='seler';
  7. $tablica['warzywa'][23]='kalafior';
  8. $tablica['przyprawy'][55]='pieprz';
  9. $tablica['przyprawy'][60]='sol';
  10.  
  11. $path=trim($_SERVER['PATH_INFO'],"/");
  12.  
  13. if(!empty($path)){
  14. $tab_path=explode("/",$path);
  15.  
  16. for($i=0;$i<count($tab_path);$i+=2){
  17. $parametr=$tab_path[$i];
  18. $wartosc=$tab_path[$i+1];
  19. $kluczyk=array_search($wartosc,$tablica[$parametr]);
  20. $_GET[$parametr][$kluczyk]=$wartosc;
  21. }
  22. }
  23.  
  24. $klucze=array_keys($tablica);
  25.  
  26. for($i=0;$i<count($klucze);$i++){
  27. $par=$klucze[$i];
  28. echo "<p><b>".strtoupper($par)."</b><p>";
  29.  
  30. foreach($tablica[$par] as $key => $war){
  31. $new_get=$_GET;
  32. if( (array_key_exists($par,$new_get))&&(in_array($war,$new_get[$par])) ) {
  33. unset($new_get[$par][$key]);
  34. $ile_war=count($new_get[$par]);
  35. if($ile_war==0){
  36. unset($new_get[$par]);
  37. }
  38. }
  39.  
  40. else{
  41. $new_get[$par][$key]=$war;
  42. }
  43.  
  44. $link=http_build_query($new_get,"","/");
  45.  
  46. ?>
  47. <div><a href='<?php echo $link;?>'><? echo $war;?></a></div>
  48. <?
  49. }
  50. }


Teraz chcę uzyskać link więc użyłem http_build_query. Ale tu robi się problem z którym nie umiem sobie poradzić, bo moje tablice $new_get wyglądają np. tak:

  1. [warzywa] => Array
  2. (
  3. [15] => marchewka
  4. )
  5.  
  6. [owoce] => Array
  7. (
  8. [11] => cytryna
  9. [10] => pomarancza
  10. )


i uzyskuję taki link: warzywa[15]=marchewka/owoce[11]=cytryna/owoce[10]=pomarancza a chciałbym aby wyglądał tak: warzywa/marchewka/owoce/cytryna/owoce/pomarancza

Czy http_build_query nadaje się by tworzyć linki z takiej tablicy? Bo czytam w manualu, że musi być tablica.

  1. $data = array(
  2. 'foo' => 'bar',
  3. 'baz' => 'boom',
  4. 'cow' => 'milk',
  5. 'php' => 'hypertext processor'
  6. );


Ale ja nie mogę takiej zrobić bo mam te same klucze. Ktoś podpowie pomóc jak to zrobić?



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: 19.04.2024 - 07:28