Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Funkcja dziala paranormalnie
Bojakki
post 24.03.2006, 07:54:30
Post #1





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

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


Napisalem prosta jak drut funkcje:

  1. <?php
  2.  
  3. function take_region_banner($region, $id, $part){
  4. $katalog=id($id, $region);
  5. $file= "$region/$katalog/$part.gif";
  6.  if (file_exists($file))
  7.  {
  8. echo '<img src="'.$region.'/'.$katalog.'/'.$part.'.gif">';
  9.  }else{
  10.  echo '<img src="layout/no_image.gif">';
  11.  }
  12. }
  13.  
  14. ?>


Jezeli chodzi o samo dzialanie to jest OK, tzn. wyswietla obrazek taki jaki powinien byc. Caly problem polega na tym ze wywoluje funkcje w innym miejscu a w innym sie wyswietla. W dodatku zeby bylo ciekawiej samo przypisanie funkcji do zmiennej:

  1. <?php
  2.  
  3. $cos=function take_region_banner(1, 2, 3);
  4.  
  5. ?>


Powoduje wywolanie funkcji i wyswietlenie obrazka, oczywiscie tez w miejscu innym niz w ogole jest to przypisanie do zmiennej. Nie mam juz sil, probowalem chyba wszytskiego:/ Dla mnie jest to niewyjasnialne.

moze ktos wie co jest nie tak?


--------------------
Go to the top of the page
+Quote Post
NoiseMc
post 24.03.2006, 08:17:11
Post #2





Grupa: Zarejestrowani
Postów: 398
Pomógł: 10
Dołączył: 24.11.2004
Skąd: Łódź

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


Ta funkcja nie zwraca Ci żadnych wartości tylko wyrzuca na ekran obrazek dokładnie w miejscu w którym ją wywołasz.
Jeżeli chcesz przypisać wynik funkcji do zmiennej to musisz zamiast "echo" dać "return":

  1. <?php
  2.  
  3. function take_region_banner ( $region, $id, $part )
  4. {
  5. $katalog=id ( $id, $region );
  6. $file= "$region/$katalog/$part.gif";
  7.  
  8. if ( file_exists ( $file ) )
  9. {
  10.  return '<img src="' . $region . '/' . $katalog . '/' . $part . '.gif">';
  11. }
  12. else
  13. {
  14.  return '<img src="layout/no_image.gif">';
  15. }
  16. }
  17.  
  18. ?>

użycie:
  1. <?php
  2.  
  3. $cos = take_region_banner ( 1, 2, 3 );
  4. echo $cos;
  5.  
  6. ?>


Ten post edytował NoiseMc 24.03.2006, 08:17:36


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.08.2025 - 22:32