Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]jak zwiększyć zasięg zmiennej?
Forum PHP.pl > Forum > Przedszkole
Larges
Witam, mam zdefiniowaną zmienną $reklama w fukcji news();
Chciałbym wykorzystać tą zmienną poza funkcją. Próbowałem zrobić global $reklama; ale nie wiem dokładnie jak to zrobić - nie działało. Jak można wywołać zmienną poza franizami funkcji?
nitro18
a to:

  1. <?php
  2. function news()
  3. {
  4. global $reklama
  5.  
  6.  
  7. }
  8. ?>



albo

  1. <?php
  2. function news()
  3. {
  4. global $rekl;
  5.  
  6. //
  7.  
  8. $rekl=reklama;
  9. }
  10. ?>
sowiq
Jest jeszcze inne wyjście - superglobalna tablica $_GLOBALS, jednak trochę mniej wygodna w używaniu.
nithajasz
Cytat(sowiq @ 8.06.2008, 23:43:38 ) *
Jest jeszcze inne wyjście - superglobalna tablica $_GLOBALS, jednak trochę mniej wygodna w używaniu.


function g($param){
return $_GLOBALS[$param];
}

i już łatwiej.. smile.gif
Larges
Z przykrością muszę wrócić do wątku. Nie wiem czemu, ale nie mogę zwiększyć zasięgu zmiennej poprzez stosowanie polecenia global. Zmienną mam zdefiniowaną w funkcji i tam też nadaję jej większy zasięg poprzez global. Niestety nie mogę odczytać jej wartości poza tą funkcją. Jak zatem zrobić to w inny sposób? Widzę coś o $_GLOBALS, ale dość skrótowo, przez co nie potrafię tego pojąć ;/
erix
Dni konstrukcji global są policzone. Polecam zainteresowanie się wzorcem Registry: http://www.strefaphp.net/artykul59.html
gox
Mozna tez $_SESSION[cus]
czesto z tego korzystam
erix
Ale nielogiczne. Sesja chyba jest przypisana do danych użytkownika, które mają być obecne przez czas całej wizyty, nie?

A po co tam pakować zmienną, którą wykorzystasz tylko do przeliczenia czegoś, JEDEN raz? Przecież niepotrzebna sesja, to tylko zmarnowany czas (trzeba wysłać ciasteczko/SID, zapisać gdzieś dane...).
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.