Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zmienna poza funkcją.
djluzak
post 10.04.2005, 15:55:27
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 12.03.2004
Skąd: Kraków

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


Jak wyprowadzić zmienną poza funkcję, żeby można ją było użyć w innym miejscu skryptu.

Przykład:
  1. <?
  2. function jakas() {
  3.  
  4. $zmienna = '1';
  5.  
  6. }
  7. ?>


I jak wykorzystać tą zmienną np. w innej funkcji. Może jakieś zmienne globalne ale z co z nimi? Dzięki za pomoc.

Ten post edytował djluzak 10.04.2005, 15:56:08
Go to the top of the page
+Quote Post
czachor
post 10.04.2005, 16:04:16
Post #2





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

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


  1. <?
  2. function jakas() {
  3.  
  4. $zmienna = '1';
  5.  
  6. return $zmienna;
  7. }
  8.  
  9. $poza_funckja = jakas();
  10. //$poza funckja ma teraz wartosc 1
  11. ?>


Ten post edytował czachor 10.04.2005, 16:04:33


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
Go to the top of the page
+Quote Post
djluzak
post 10.04.2005, 16:14:28
Post #3





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 12.03.2004
Skąd: Kraków

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


Wszystko oki tylko ja podalem najprostszy przyklad a co jesli w funcji bedzie pol strony kody i chcialbym wyciagnac tylko jedna konkretna zmienna?

Np.
  1. <?
  2. function jakas() {
  3.  
  4. $zmienna = '0';
  5. $zmienna1 = '1';
  6. $zmienna2 = '2';
  7. $zmienna3 = '3';
  8. $zmienna4 = '4';
  9.  
  10. return $zmienna;
  11. }
  12. ?>


Jak sie nic nie zmieni i bedzie tak samo to super.
Go to the top of the page
+Quote Post
bela
post 10.04.2005, 16:24:50
Post #4


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


  1. <?php
  2. $foo = 0;
  3.  
  4. function bar () {
  5. global $foo;
  6. $foo = 1;
  7. }
  8.  
  9. print $foo; 
  10. ?>


?


--------------------
Go to the top of the page
+Quote Post
djluzak
post 10.04.2005, 16:46:08
Post #5





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 12.03.2004
Skąd: Kraków

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


jesli zrobie tak i mam wiecej kodu w zmiennej to mi zwraca oprocz zmiennej caly kod ktory jest w funkcji.
Macie jakis inny pomysl?

  1. <?
  2. function jakas() {
  3.  
  4. // duzo kodu....
  5.  
  6. $zmienna = '1';
  7.  
  8. return $zmienna;
  9. }
  10.  
  11. $poza_funckja = jakas();
  12. //$poza funckja ma teraz wartosc 1
  13. ?>


Nie moge zastosowac $poza_funckja = jakas(); bo zwraca cala funkcje.
Pomocy!
Go to the top of the page
+Quote Post
kidu
post 10.04.2005, 17:04:40
Post #6





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 26.02.2005

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


jak cala funkcje zwraca, musiales cos przekombinowac. sprawdz czy masz wszytko pozamykane odpowiednio, bo to siakos tak nie bardzo mozliwe jest chyba winksmiley.jpg

w funkcji sobie cos robisz a potem po return dajesz nazwe zmiennej ktora masz w funkcji i ktora chcesz zwrocic i funkcja zwraca jakos swoj wynik ta zmienna.

Ten post edytował kidu 10.04.2005, 17:06:56
Go to the top of the page
+Quote Post
djluzak
post 10.04.2005, 22:29:47
Post #7





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 12.03.2004
Skąd: Kraków

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


A jak jest w funkcji echo itp to co wtedy?
Nie ma ktos jakiegos pomyslu?
Go to the top of the page
+Quote Post
dr_bonzo
post 11.04.2005, 00:33:13
Post #8





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Jak w funkcji jest echo to onie NIE ZWRACA WARTOSCI przez funkcje tylko WYPISUJE dane w miejscu pojawienia sie tej instrukcji.
Funkcja zwraca tylko to co podasz instrukcji return!


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
siemakuba
post 11.04.2005, 08:58:23
Post #9





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


Wydaje mi się, że chodzi ci o to, żeby oprócz tego wszystkiego co ma zrobić funkcja (bez znaczenia czy ma wyświetlić wyniki za pomocą echo czy je zwrócić) ustawione zostały dodatkowo wartości jakichś zmiennych, które mają być dostępne poza fukncją.

Trzeba, jak pisał bela użyć global, lub przekazaz zmienne ktore chcesz zmienic/ustawic wewnatrz funkcji przez referencję:


  1. <?php
  2.  
  3.  
  4. // opcja 1
  5.  
  6. $var_1 = '';
  7. $var_2 = '';
  8. $var_n = '';
  9.  
  10. function DoWhatever()
  11. {
  12. global $var_1, $var_2, $var_n;
  13.  
  14. /* 
  15. wykonujesz sobie cala logike funkcji, i zgodnie z potrzeba
  16. ustawiasz wartosci zmiennych globalnych
  17. */
  18.  
  19. echo 'Wynik dzialania fukcji';
  20.  
  21. // lub
  22.  
  23. return 'Wynik dzialania funkcji';
  24.  
  25. }
  26.  
  27. /* 
  28. opcja 2 - przekazujesz przez referencje zmienne ktorych
  29. wartosc chcesz zmienic wewnatrz funckji
  30. */
  31.  
  32. function DoWhatever($tu_jakies_parametry_podstawowe, &$var_1, &$var_2, &$var_n)
  33. {
  34. /* 
  35. wykonujesz sobie cala logike funkcji, i zgodnie z potrzeba
  36. ustawiasz wartosci zmiennych
  37. */
  38.  
  39. echo 'Wynik dzialania fukcji';
  40.  
  41. // lub
  42.  
  43. return 'Wynik dzialania funkcji';
  44. }
  45.  
  46. doWhatever($parametry_podstawowe, $v1, $v2, $vn);
  47.  
  48. ?>


pozdr.
Go to the top of the page
+Quote Post
djluzak
post 11.04.2005, 23:02:12
Post #10





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 12.03.2004
Skąd: Kraków

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


Mniejwiecej zalapalem o co Wam chodzi i wlasnie nad tym mysle.

A zakladajmy mam taki kod tzn jego czesc. Funkcja odpowiedzialna za wyswietlenie strony glownej a w niej zmienna $tytul i chce nie wiem jeszcze jak wyciagnac z niej ta jedna zmienna. Nie wiem w jaki sposob to zrobic ale wiem ze tytul musi byc w srodku kodu poniewaz np.przy wyszukiwarce chce miec dynamiczny tytul. Zakrecilem ale moze ktos zalapie.

  1. <?php
  2.  
  3. function StronaGlowna() {
  4.  
  5. echo &#092;"Tu jest jakis kod i echa itd.<br>A ja chce zwrocic tylko wartosc zmiennej $title a tego nie\";
  6.  
  7. $title = 'Tytul strony';
  8. $v1    = '30';
  9.  
  10. return $title;
  11. }
  12.  
  13. StronaGlowna();
  14.  
  15. ?>


Moze macie jakis inny sposob na wyciagniecie z tej funkcji jednej zmiennej, ktora powstaje na podstawie tego kodu.

Ten post edytował djluzak 11.04.2005, 23:13:07
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: 4.05.2025 - 07:20