Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: std object dostęp atrybutu
Forum PHP.pl > Forum > PHP > Object-oriented programming
MMX3
Siemka,

Mam sobie objekt zwrócony przez

  1. <?php mysql_fetch_object(); ?>


Cały myk polega na tym że chce dostać się do odpowiedniego klucza dostać jego nazwę i odwoływać się w dalszej części kodu do tego klucza by mieć id rekordu z bazy.

To jest automatyczne generowanie tabel danych na podstawie tablicy obiektów z bazy danych.

Wyciągam sobie wartość w ten sposób, zarazem generując cały nagłówek tabeli.
  1. <?$id_key;
  2. foreach($data[0] as $k => $v) {
  3. if(strpos($k,'id') === true)
  4. $id_key = $k;
  5. $theader .= "\n\t\t\t\t".'<th>'.$k.'</th>';
  6.  
  7. }
  8. ?>


Potem chcę wywołać:

  1. <?php
  2. $objekt->$id_key;
  3. ?>

albo
  1. <?php
  2. $objekt->$($id_key);
  3. ?>

albo
  1. <?php
  2. $objekt::$id_key;
  3. ?>


I nie działa żadna z opcji. Zna ktoś jakieś sympatyczne rozwiązanie?

Pozdrawiam,
mmx3
nevt
to działa poprawnie:
  1. <?php
  2. class test
  3. {
  4. public $klucz;
  5. public function __construct()
  6. {
  7. $this->klucz = 'Działa.';
  8. }
  9. }
  10. $x = new test();
  11. $key = 'klucz';
  12.  
  13. echo $x->$key;
  14. ?>

więc problem leży gdzieś indziej....
Sedziwoj
Zrób
  1. <?php
  2. var_dump($objekt);
  3. ?>
i napisz co zwraca.
MMX3
już wszystko wiem...

chciałem sobie wyłowić wszystkie atrybuty co zaczynają się od id_
no ale strpos przy wywołaniu takie jak zastosowałem zwraca 0 co równe jest false i co jest dziwne
dlatego trzeba zastosować coś takiego:
  1. <?php
  2. $start=@strpos($source,$startTag,$end)) !== false
  3. ?>


Wysławiajmy komentarze w manualu.
Bo są zajebi...te winksmiley.jpg

A błąd się pojawiał bo chciałem wywołać atrybut '' pustostringowy.

Pozdr,
Dzięki za pomoc 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.