Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]OOP problem z funkcją
Forum PHP.pl > Forum > Przedszkole
miras
Witam, mam funkcję compare, której używam do usort();

  1. function compare($a, $b)
  2. {
  3. if($a['punkty'] == $b['punkty']) {
  4.  
  5. $this->get_winner($a['kid'], $b['kid']); // w tym miejscu bład
  6.  
  7. } else {
  8. return ($a['punkty'] < $b['punkty']) ? 1 : -1;
  9. }
  10. }
  11.  
  12.  
  13. usort($data, 'compare');


natomiast w tej funkcji potrzebuję skorzystać z innej funkcji publicznej czyli: $this->get_winner($a['kid'], $b['kid']);


błąd Using $this when not in object context in


Dzięki z góry!
Comandeer
Co to jest "funkcja publiczna"? Chodzi Ci o funkcję globalną czy metodę jakiejś klasy?
miras
metodę jakiejś klasy, faktycznie źle się wyraziłem.
Crozin
1. Nie zwracasz wyniku wywołania get_winner().
2. A $this niby do czego miałoby się odnosić? Skoro compare() to zwykła funkcja, nie metoda obiektu.
Comandeer
No to zamiast $this musisz podstawić obiekt danej klasy. Inaczej nie przejdzie
miras
1. fakt, poprawione.
2. jakieś propozycje co z tym zrobić?

Dziękuję wszystkim, wszystko działa 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.