Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] isset a metody statyczne
Forum PHP.pl > Forum > Przedszkole
Pytam
  1. function static bleble(){return NULL;}
  2.  
  3. if(isset(Klasa::bleble()))
  4. {
  5.  
  6. }


Dlaczego powyższy kod zwróci błąd?

Cytat
Fatal error: Can't use function return value in write context in
Rysh
Cytat
isset() only works with variables as passing anything else will result in a parse error. For checking if constants are set use the defined() function.
Pytam
czyli jak to obejść? Przypisać do zmiennej i ją sprawdzić?
  1. $r = Klasa::bleble()
  2.  
  3. if(isset($r))


Tak to ma być?
konrados
To powinno pomóc:
  1. function_exists
Pytam
Tu nie chodzi o sprawdzenie czy funkcja istnieje a o dane jakie zwraca.
konrados
W takim razie Twój kod powinnien zadziałać:

  1. $r = Klasa::bleble()
  2.  
  3. if(isset($r))
melkorm
is_null
Rysh
Cytat(konrados @ 27.07.2012, 18:07:30 ) *
W takim razie Twój kod powinnien zadziałać:

  1. $r = Klasa::bleble()
  2.  
  3. if(isset($r))

To teraz kolego pojechałeś po całości. Jak zwróci TRUE lub FALSE to co? Zawsze isset! od tego jest sam IF!
konrados
Cytat
To teraz kolego pojechałeś po całości. Jak zwróci TRUE lub FALSE to co? Zawsze isset! od tego jest sam IF!


Możesz to rozwinąć, bo nie rozumiem?

Przedmówca chce sprawdzić czy dana funkcja cokolwiek zwraca. Dzięki isset ($zwrócona_zmienna) się tego dowiemy:


  1. function test(){
  2. //nic nie zwracamy
  3. }
  4.  
  5. $x=test();
  6. if(isset($x)) echo 'is';else echo 'is not';


Powyższe wypluje "is not".
!*!
Cytat(Rysh)
To teraz kolego pojechałeś po całości. Jak zwróci TRUE lub FALSE to co? Zawsze isset! od tego jest sam IF!

Nic, a co ma być?
http://tomek.rychtyk.pl/blog/2012/02/29/ro...porownan-w-php/
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.