<?php
  session_start();

  // poniższy kod formatuje wyniki jako komentarze HTML
  // i wywołuje regularnie funkcję skladuj_tablice()

  echo "\n<!-- ROZPOCZĘCIE SKŁADOWANIA ZMIENNYCH -->\n\n";

  echo "<!-- ZMIENNE GET -->\n";
  echo "<!—-".skladuj_tablice($_GET)." -->\n";

  echo "<!-- ZMIENNE POST -->\n";
  echo "<!—-".skladuj_tablice($_POST)." -->\n";

  echo "<!-- ZMIENNE SESJI -->\n";
  echo "<!—-".skladuj_tablice($_SESSION)." -->\n";

  echo "<!-- ZMIENNE COOKIE -->\n";
  echo "<!—-".skladuj_tablice($_COOKIE)." -->\n";

  echo "\n<!-- ZAKOŃCZENIE SKŁADOWANIA ZMIENNYCH -->\n";

// skladuj_tablice() przyjmuje jako parametr tablicę
// funkcja iteruje przez tablicę i tworzy pojedynczy łańcuch znaków,
// który reprezentuje tablicę w formie zbioru

function skladuj_tablice($tablica) {
  if(is_array($tablica)) {
    $rozmiar = count($tablica);
    $ciag = "";
    if($rozmiar) {
      $licznik = 0;
      $ciag .= "{ ";
      // dodanie klucza i wartości każdego elementu do łańcucha znaków
      foreach($tablica as $zmienna => $wartosc) {
        $ciag .= "$zmienna." = ".$wartosc";
        if($licznik++ < ($rozmiar-1)) {
          $ciag .= ", ";
        }
      }
      $ciag .= " }";
    }
    return $ciag;
  } else {
    // jeśli $tablica nie jest tablicą, zostaje zwrócona w oryginalnej postaci
    return $tablica;
  }
}

?>
