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

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 ?

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ć...

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;
0

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

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