Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Switch w funkcji - czy jest możliwe zwrócenie zmiennych?
Forum PHP.pl > Forum > PHP
adam1024
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ę?
kreatiff
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.
adam1024
Temat można zamknąć, wystarczyło w przypadku tej funkcji dodać wewnątrz
Kod
global $war1,$war2,$war3;
Damonsson
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];
adam1024
a czy mój sposób jest błędny?
Xelah
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.
adam1024
i takiej odpowiedzi oczekiwałem , dziękuję bardzo
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.