Jak uzyskac dostep do pola z tablicy przesylanej z metody klasy ?

Odpowiedz Nowy wątek
2011-08-15 12:31
1

Mam taka klase dla przykladu

 
class przyklad 
{
    public function test($dana)
    {
        $arr[tab1] = 3;
        $arr[tab2] = 4;
        return $arr;
    }
};
 
$r = new przyklad;
$r->test(33);
 

i jak teraz dostac sie do pola np
$r[tab1] ? czy $r.tab1 ? $r:tab1 ? jest jakis sposob na to?

Wiem ze normalnie mozna zrobic:

 
$bla = $r->test(33);
echo $bla[tab1];
echo $bla[tab2];

ale czy jest jakas mozliwosc inna odwolac sie do pol z klasy i do tablic ?

edytowany 1x, ostatnio: masterO, 2011-08-15 12:43

Pozostało 580 znaków

2011-08-16 03:40
0

do pól z klasy (czyli atrybutów) będących tablicami można odwoływać się:

  • tak samo jak wywołuje się metody, czyli: $obiekt->atrybut[klucz] (pod warunkiem, że atrybut jest publiczny)
  • a wewnątrz klasy przez $this->atrybut[klucz]
  • przez odpowiednie getery i setery (czy jak to się tam pisze...)

z tym, że w Twojej przykładowej klasie nie ma żadnych atrybutów, więc trudno się do czegoś odwoływać...

edytowany 1x, ostatnio: notexists, 2011-08-16 03:41

Pozostało 580 znaków

2011-08-16 08:22
0

chodzi np o coś takiego:

class przyklad 
{
        public $arr = array();
        public function test($dana)
        {
                $this->arr[tab1] = 3;
                $this->arr[tab2] = 4;
                return $this->arr;
        }
};
 
$r = new przyklad;
$r->test(33);
$r->arr = 45;

░█░█░█░█░█░█░█░█░█░█░█░
edytowany 1x, ostatnio: krwq, 2011-08-16 08:23

Pozostało 580 znaków

2011-08-16 15:52
0

ok dzieki :) juz skumalem faktycznie print_r pokazuje nawet pola ktore sa prywatne,publiczne,chronione

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0