Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wywoływanie obiektów za pomocą pętli
Forum PHP.pl > Forum > Przedszkole
kristoff
witam. Gdy wstawiam nazwy uprzednio zdefiniowanych obiektów do tablicy a następnie wywołuję obiekty za pomocą pętli to pojawia się poniższy komunikat. Czyżby obiektów nie dało się wywoływać w zautomatyzowany sposób za pomocą pętli tylko trzeba wypisać ręcznie kilkukrotnie całą regułkę po jednej dla kazdego obiektu?

pojawiający się komunikat: Call to a member function on a non-object

  1. <?php
  2. $tablica=array('$obiekt_pl_1', '$obiekt_pl_2', '$obiekt_pl_3', '$obiekt_pl_4');
  3.  
  4. for($i=0; $i<4; $i++) {
  5. $zbior = $tablica[$i] -> pobierz_z_bazy();
  6.  
  7. $wiersz=mysql_fetch_row($zbior);
  8. }
  9. ?>


dodam, ze jeśli zamiast $tablica[$i] wpisze konkretną nazwę obiektu to wszystko działa.
treewood
moze sie myle (dawno sie w to nie bawilem) ale powinno byc raczej tak:
  1. <?php
  2.  
  3. $tablica=array('obiekt_pl_1', 'obiekt_pl_2', 'obiekt_pl_3', 'obiekt_pl_4');
  4.  
  5.  
  6. for($i=0; $i<4; $i++) {
  7.  
  8. $zbior = $$tablica[$i] -> pobierz_z_bazy();
  9.  
  10. $wiersz=mysql_fetch_row($zbior);
  11.  
  12. }
  13.  
  14. ?>
lukir
Nie, linia nr 8 powinna wyglądać tak:
  1. <?php
  2. $zbior = ${$tablica[$i]}->pobierz_z_bazy();
  3. ?>
dr_bonzo
A czemu przechowujesz "obiekty" jako stringi?questionmark.gif

Przeciez da sie:
  1. <?php
  2. $tablica=array( $obiekt_pl_1 , $obiekt_pl_2, $obiekt_pl_3;
  3.  
  4. foreach( $tablica as $item )
  5. {
  6. $item->pobierz_z_bazy();
  7. }
  8. ?>
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.