Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [funkcja] Generator list zawartości tablic, Funkcja rekurencyjna
.radex
post
Post #1





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


Funkcję tą napisałem jako test funkcji rekurencyjnej, ponieważ wcześniej nie używałem w praktyce tej techniki, choć znałem ją...
  1. <?php
  2. function generuj($t){
  3. global $szag;
  4. $szag++;
  5. $brlb=1;
  6. for($i=0;$i<count($t);$i++){
  7. if(is_array($t[$i])){
  8. $t2 .= generuj($t[$i]);
  9. }else{
  10. $t2 .= (($brlb==0) ? '<br>' : '').$t[$i];
  11. }
  12. $brlb=0;
  13. }
  14.  
  15. $dex = dechex(255-($szag*4));
  16. $dex2 = dechex((255-($szag*4))/50*49);
  17.  
  18. $sbgc = 'style="background-color:#'.$dex.$dex.$dex.';border:1px solid '.$dex2.$dex2.$dex2.'"';
  19.  
  20. return '<blockquote '.$sbgc.'><strong>Stopien zagniezdzenia:</strong> <em>'.
  21. ($szag--).'</em><br><br>'.$t2.
  22. '</blockquote>';
  23.  
  24. }
  25. ?>


Przykład użycia:

  1. <style type="text/css">
  2. blockquote{
  3. margin-left: 30px;
  4. padding: 0
  5. }
  6. </head>
  7. <?php
  8.  
  9. /* Tutaj funkcja */
  10. $tablica = array(
  11. '1111',
  12. array(
  13. '1111',
  14. array(
  15. '1111',
  16. array(
  17. '1111',
  18. array(
  19. '1111',
  20. array(
  21. '1111',
  22. array(
  23. '1111',
  24. array(
  25. '1111',
  26. array(
  27. '1111',
  28. ),
  29. ),
  30. ),
  31. ),
  32. ),
  33. ),
  34. ),
  35. )
  36. );
  37.  
  38. echo generuj($tablica);
  39.  
  40. ?>
  41. </body>
  42. </html>



Zadaniem funkcji jest stworzenie listy zawartości tablic wielowymiarowych. Czym większy stopień zagnieżdżenia tym ciemniejszy kolor (kolor = 255 - stopień_zagnieżdżenia*4)

Przykład online: http://radex.byethost18.com/Fnc/xdlist.php

Ten post edytował radex_p 9.09.2007, 18:04:01


--------------------
blog | Tadam — minutnik do Pomodoro na Maka :)
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 22.08.2025 - 07:51