Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Przypisywanie tablicy (?) przez __set().
Forum PHP.pl > Forum > Przedszkole
krzywy36
  1. class registry
  2. {
  3. private $data = array();
  4.  
  5. public function __get($index)
  6. {
  7. return $this->data[$index];
  8. }
  9. public function __set($index, $value)
  10. {
  11. $this->data[$index] = $value;
  12. }
  13. }
  14.  
  15. $reg = new registry;
  16.  
  17. $reg->zmienna = 'lol';
  18. $reg->tablica[0] = 'lol2';
  19. print_r($reg);


W wyniku dostaje:
Kod
registry Object
(
    [data:registry:private] => Array
        (
            [zmienna] => lol
        )
)


Da się jakoś zrobić, żeby w ten sposób działało tworzenie/przypisywanie wartości do tablic?
Bo jak widać wartość 'lol2' nie została przypisana.

Edit: Działa coś takiego:
  1. $reg->tablica = array(0 => 'lol2');

z tym, że jest to niewygodne bo chcę dodawać te wartości w pętli.
Crozin
Po pierwsze: magic is evil - jeżeli da się bez metod magicznych obejść to postaraj się ich unikać
Po drugie: rejestr to też zło - na forum było już napisane dlaczego (bodajże LBO fajnie to wyjaśnił). Niezła alternatywą dla niego może być kontekst (szukaj pod frazą: context)
Po trzecie: włącz sobie raportowanie błędów to zobaczysz dlaczego to Ci nie działa
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.