Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kilku poziomowy __get
Moli
post
Post #1





Grupa: Zarejestrowani
Postów: 662
Pomógł: 45
Dołączył: 26.03.2007
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Mam w klasie tablicę o takiej wartośc
Kod
Array (
'imie' => Array ( 'pierwsze' => 'Michal' , 'drugie' => 'Jan' ) ,
'nazwisko => Array ( 'rodowe' => 'Kowalski' ) ,
)

i teraz chce w do jej elementów odwoływac się poprzez
Kod
$this->imie->pierwsze (zwroci Michał)


Jak dobrze to rozwiązać ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
arecki
post
Post #2





Grupa: Zarejestrowani
Postów: 222
Pomógł: 35
Dołączył: 6.02.2005

Ostrzeżenie: (0%)
-----


Może o coś takiego Ci chodziło ?

  1. <?php
  2.  
  3. class multiget {
  4.  
  5. private $data = array();
  6.  
  7. public function __construct(Array $array) {
  8. $this->data = $array;
  9. }
  10.  
  11. public function __get($name) {
  12. if(key_exists($name, $this->data)) {
  13. if(is_array($this->data[$name])) {
  14. return new self($this->data[$name]);
  15. } else {
  16. echo $this->data[$name];
  17. }
  18. } else {
  19. return 'invalid request';
  20. }
  21. }
  22.  
  23. public function __toString() {
  24. return 'invalid request';
  25. }
  26.  
  27. }
  28.  
  29.  
  30.  
  31. /**
  32.  * test klasy
  33.  */
  34.  
  35. $test = new multiget(Array(
  36. 'imie' => Array ( 
  37. 'pierwsze' => 'Michal' , 
  38. 'drugie' => 'Jan'),
  39. 'nazwisko' => Array (
  40. 'rodowe' => 'Kowalski'),
  41. 'wiek' => '36'
  42. ));
  43.  
  44. echo $test->imie->drugie;
  45.  
  46. ?>


Ten post edytował arecki 12.02.2008, 20:50:18
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 14:29