Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] zasięg superglobalny
mala_duza
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.08.2008

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


  1. <?php
  2. $a = 'cos';
  3. global $a;
  4. function test()
  5. {
  6. echo $a;
  7. }
  8. test();
  9. ?>


tak jak w temacie, gdzie tu popelnilam blad?

Ten post edytował mala_duza 24.08.2008, 11:49:31
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
.radex
post
Post #2





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


  1. <?php
  2. $a = 'cos';
  3. function test()
  4. {
  5. global $a;
  6. echo $a;
  7. }
  8. test();
  9. ?>


Ten post edytował .radex 24.08.2008, 09:09:12
Go to the top of the page
+Quote Post
elemek
post
Post #3





Grupa: Zarejestrowani
Postów: 71
Pomógł: 24
Dołączył: 14.08.2008

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


global wedruje do srodka funkcji:

  1. <?php
  2. $a = 'cos';
  3. function test() {
  4. global $a;
  5. echo $a;
  6. }
  7. test();
  8. ?>


EDIT :: deklaracja global wewnatrz funkcji musi wystapic zanim zaczniesz uzywac zmiennej

Ten post edytował elemek 24.08.2008, 09:31:49
Go to the top of the page
+Quote Post
mala_duza
post
Post #4





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.08.2008

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


  1. <?php
  2.  
  3. function some()
  4. {
  5. $a = array();
  6. $a[] = 'cos';
  7. global $a;
  8. }
  9. some();
  10. $a[] = 'bla';
  11. print_r($a);
  12.  
  13.  
  14. ?>


a tutaj? dalam do wnetrza a pokazuje samo 'bla';
Go to the top of the page
+Quote Post
wookieb
post
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Kod
$a=array();
function some()
{
global $a;
$a[] = 'cos';
}
some();
$a[] = 'bla';
print_r($a);


Badz
Kod
function some()
{
$a=array();
$a[] = 'cos';
return $a;
}
$a=some();
$a[] = 'bla';
print_r($a);
Go to the top of the page
+Quote Post
mala_duza
post
Post #6





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.08.2008

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


rozumiem ze trzeba dawać global na początku funkcji?

i niech ktos mi powie za plusa czy to dobry sposob zeby se uczynić jakas zmienną globalną;

  1. <?php
  2. $a = 'text';
  3. function global_a()
  4. {
  5. global $a;
  6. }
  7. global_a();
  8. ?>


Ten post edytował mala_duza 24.08.2008, 09:41:56
Go to the top of the page
+Quote Post
wookieb
post
Post #7





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Jezeli zmienna nie jest definiowana w funkcji to jest zmienna globalna. Tylko, że nie dla ciał funkcji.
Go to the top of the page
+Quote Post
mala_duza
post
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.08.2008

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


ale ja wlasnie chce tak zrobic zeby zmienna byla widzialna wszedzie, nawet z wnetrza innych funkcji, czy sposob w moim poprzednim poście jest na to dobry?
Go to the top of the page
+Quote Post
wookieb
post
Post #9





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




To w każdej funkcji musisz na początku dać global jeżeli chcesz tej zmiennej użyc w funkcji. Nie ma innej możliwości. Widze, ze nie czytasz uważnie manuali i będziesz tutaj przychodzil z każdym najmniejszym "problemem"
Go to the top of the page
+Quote Post
ayeo
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Witaj!

Dodatkowo źle jest jeszcze tytuł tematu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Nie mówi on nic nikomu.

Pozdrawiam!
Go to the top of the page
+Quote Post
mala_duza
post
Post #11





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.08.2008

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


O pszepraszam! Strasznie się pomyliłam!

Chodziło mi o to jak zrobić, zeby zmienna miała zasięg superglobalny, a nie globalny, czyli np.

  1. <?php
  2.  
  3. $a = 'cos';
  4. function test()
  5. {
  6. global $cos;
  7. }
  8. test();
  9. function wyswietl()
  10. {
  11. echo $cos;
  12. }
  13. wyswietl();
  14.  
  15. ?>


zeby naprzyklad cos takiego działało

nazwę tematu tez poprawilam

Ten post edytował mala_duza 24.08.2008, 11:52:40
Go to the top of the page
+Quote Post
Kicok
post
Post #12





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


http://pl.php.net/manual/pl/language.varia...uperglobals.php
http://pl.php.net/manual/pl/reserved.variables.globals.php
Go to the top of the page
+Quote Post
mala_duza
post
Post #13





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.08.2008

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


czytałam te strony manuala, pokazują one jak zrobić zasięg globalny. Ja chcę się odwoływać do zrobionych przeze mnie zmiennych nie poprzez $GLOBALS, tylko norlmalnie, $zmienna, i chodzi mi o to czy da się tak zrobić

( tylko ta $zmienna ma byc superglobalna)

Ten post edytował mala_duza 24.08.2008, 12:14:22
Go to the top of the page
+Quote Post
wookieb
post
Post #14





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Przeciez ci juz pisalem ze nie da sie tak zrobic.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 15:36