Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Switch w funkcji - czy jest możliwe zwrócenie zmiennych?
adam1024
post 27.05.2015, 12:57:15
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 13.02.2009

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


Kod
function switchLiczba($liczba){    
    switch ($liczba){
    case '1': $war1='m1'; $war2='r2'; $war3='s3'; break;
    case '2': $war1='x1'; $war2='e2'; $war3='e3'; break;
        case '3': $war1='x1'; $war2='e2'; $war3='e3'; break;
        case '4': $war1='o1'; $war2='x2'; $war3='d41'; break;
    }
}
switchLiczba(3);
echo $war1;


czy jest możliwe aby wyświetlić wartości zmiennych które zostały wykonane poprzez tę funkcję?


--------------------
Lubisz okazje i promocje? Wbij na HotShops.pl z mojego refa i pozwól zdobyć mi pkt. ;)
Go to the top of the page
+Quote Post
kreatiff
post 27.05.2015, 13:01:45
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 105
Dołączył: 7.08.2012

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


Możesz zwórócić z funkcji tablicę (teraz nie zwracasz nic), a przy wywyłaniu funkcji dalej w kodzie skryptu zastosować list by elementy tablicy przypisać od razu do zmiennych $war1, war2, itd.
Go to the top of the page
+Quote Post
adam1024
post 27.05.2015, 13:05:04
Post #3





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 13.02.2009

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


Temat można zamknąć, wystarczyło w przypadku tej funkcji dodać wewnątrz
Kod
global $war1,$war2,$war3;


--------------------
Lubisz okazje i promocje? Wbij na HotShops.pl z mojego refa i pozwól zdobyć mi pkt. ;)
Go to the top of the page
+Quote Post
Damonsson
post 27.05.2015, 13:10:13
Post #4





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Albo zrobić to po ludzku:

  1. function switchLiczba($liczba){
  2. switch ($liczba){
  3. case '1': $war1='m1'; $war2='r2'; $war3='s3'; break;
  4. case '2': $war1='x1'; $war2='e2'; $war3='e3'; break;
  5. case '3': $war1='x1'; $war2='e2'; $war3='e3'; break;
  6. case '4': $war1='o1'; $war2='x2'; $war3='d41'; break;
  7. }
  8.  
  9. return [$war1, $war2, $war3];
  10. }
  11. $wars = switchLiczba(3);
  12. echo $wars[0];
Go to the top of the page
+Quote Post
adam1024
post 27.05.2015, 14:28:10
Post #5





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 13.02.2009

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


a czy mój sposób jest błędny?


--------------------
Lubisz okazje i promocje? Wbij na HotShops.pl z mojego refa i pozwól zdobyć mi pkt. ;)
Go to the top of the page
+Quote Post
Xelah
post 27.05.2015, 14:37:44
Post #6





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 12.05.2013
Skąd: Hamburg

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


Cytat(adam1024 @ 27.05.2015, 14:05:04 ) *
Temat można zamknąć, wystarczyło w przypadku tej funkcji dodać wewnątrz
Kod
global $war1,$war2,$war3;


Słuchaj tego, co mówią bardzie doświadczeni. Nie używa się global. Nigdy. Na prawdę nigdy. A skoro to jest twój kod to nie ma nawet jednego teoretycznego use case-a na usprawiedliwienie global. A każdy, kto twierdzi inaczej to .... (wstaw dowolny epitet).

Zmienne przekazuje się do funkcji a jak to, co jest w środku jes potrzebne po wywyłaniu funkcji to masz return. Nie ma innej opcji.

Ten post edytował Xelah 27.05.2015, 14:38:54
Go to the top of the page
+Quote Post
adam1024
post 27.05.2015, 14:55:02
Post #7





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 13.02.2009

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


i takiej odpowiedzi oczekiwałem , dziękuję bardzo


--------------------
Lubisz okazje i promocje? Wbij na HotShops.pl z mojego refa i pozwól zdobyć mi pkt. ;)
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: 18.07.2025 - 00:23