Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tablice
Forum PHP.pl > Forum > PHP
Athlan
Witam. Ostatnio piszę sobie zagłębienie grup w mojej sesji.

--- EDIT 2 ---
Pod pojęciem grupa, mam namysli grupę/kategorię parametrów
--- /EDIT ---

Problem polega na uzyskaniu odpowiedniego dostępu do tablicy.

  1. <?php
  2. $aGroups = array('grupa1', 'grupa2', 'grupa3');
  3. ?>


Powyższa tablica obrazuje jak przechowywuję dane na temat grup.

Dzięki niej chciałbym uzyskać dostęp do:
$_SESSION['grupa1']['grupa2']['grupa3'];

Jakieś pomysły winksmiley.jpg ?

Rozpisałem to już na pętlę, ale jak element w grupie będzie tablicą, to będzie zaliczany do grupy a nie elementu.





--- EDIT ---

Generalnie ma to działać tak jak
http://cpaste.com/1641

Ale nie wiem czy jest to najpoprawniejszy sposób smile.gif

Dzięki za pomoc smile.gif Pozdrawiam.
Hacker
Ja bym to tak zrobił:
  1. <?php
  2. $aA['grupa1']['grupa2']['grupa3'] = 'a';
  3. $aGroups = array('grupa1', 'grupa2', 'grupa3');
  4. $mTemp = $aA;
  5.  
  6. foreach($aGroups as $sGroup)
  7. $mTemp = $mTemp[$sGroup];
  8.  
  9. $sParam = $mTemp;
  10. var_dump($sParam);
  11. ?>
Athlan
@Hacker, no zrobiłem podobnie smile.gif :
  1. <?php
  2. private function param($sParam)
  3. {
  4. $aSession = array();
  5.  
  6. foreach($this->_aGroups as $sGroup)
  7. if(isset($aSession[$sGroup]))
  8. $aSession = $aSession[$sGroup];
  9.  
  10. return (isset($aSession[$sParam])) ? $aSession[$sParam] : null;
  11. }
  12. ?>


Moje kolejne pytanie. Jak Wam wiadomo... eval bardzo spowalnia kod? I czy jest "poprawne".
Hacker
A gdzie ty w tym kodzie masz evala?

Eval (przynajmniej ja tak myślę) nie jest zbyt poprawny i radziłbym go nie używać.

W pierwszym poście widziałem... Ale chyba nie chcesz stosować tej wersji tylko moją/Twoją drugą
Athlan
Cytat
A gdzie ty w tym kodzie masz evala?

Przejrzyj pierwszego posta jeszcze raz smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.