Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Zwracanie przez funkcje dwóch wartości? return($zm1, $zm2) ?, czy można coś takiego zrobic? ew. jak inaczej uzyskac taki efekt?
kukix
post
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Witam.

Zastanawiam sie w jakis sposób zwrócic przez funkcje dwie zmienne?


kod funkcji:
Kod
function aa() {
  $zmienna1 = 'bbb';
  $zmienna2 = 'ccc';

return($zmienna1, $zmienna2);
}


reszta skryptu
Kod
aa();

print("pierwsza wartosc to $zmienna1 ");
print("druga wartosc to $zmienna2 ");


Kod ten jednak jest nieprawidłowy.

Kiedyś przegladając jakiś kod natrafilem na zapis return(0,23);
Próbowalem coś z tym zrobic, żjednak nie wychodzi.
Prosze o podpowiedź. Bede bardzo wdzięczny za wszelką pomoc.. pozdr..

Ten post edytował kukix 22.03.2008, 14:52:39
Go to the top of the page
+Quote Post
nowotny
post
Post #2





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


Musisz zwrócić tablicę, czyli:
  1. <?php
  2. return array($zmienna1, $zmienna2);
  3. ?>


A odwołanie do zmiennych masz źle... naucz się korzystać z funkcji, odbierania od nich zwracanych wartości oraz zasięgu działania zmiennych...

Ten post edytował nowotny 22.03.2008, 15:07:12
Go to the top of the page
+Quote Post
kukix
post
Post #3





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Cytat(nowotny @ 22.03.2008, 17:04:08 ) *
Musisz zwrócić tablicę, czyli:
A odwołanie do zmiennych masz źle... naucz się korzystać z funkcji, odbierania od nich zwracanych wartości oraz zasięgu działania zmiennych...


nie pomyslalem, że można w tem sposób.. tzn poprzez tablice.
Tymczasowo zroiblem porpostu tak:


  1. <?php
  2. function aa() {
  3. global $zmienna2;
  4.  
  5. $zmienna1 = 'bbb';
  6. $zmienna2 = 'ccc';
  7. return $zmienna1;
  8. }
  9. ?>
  10.  
  11. <?php
  12. $zmienna3 = aa();
  13. print("pierwsza wartosc to $zmienna3 ");
  14. print("druga wartosc to $zmienna2 ");
  15. ?>


działa, ale wiem, że jest to niefachowe...

P.S .
Jeżeli w funkcji zwracam zmienne w ten sposób:
  1. <?php
  2. function aa() {
  3. return array($zmienna1, $zmienna2); 
  4. }
  5. ?>

to jak później najepiej dostac sie do tyuch dwóch zmiennych?
Jak do zwykłej tablicy?

  1. <?php
  2. $zmienna = aa();
  3. $zmienna[0] // wartosc 1
  4. $zmienna[1] // wartosc 2
  5. ?>

w ten sposób?

Ten post edytował kukix 22.03.2008, 15:25:48
Go to the top of the page
+Quote Post
nowotny
post
Post #4





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


Cytat(kukix @ 22.03.2008, 15:23:55 ) *
to jak później w kodzie dostac sie do tyuch dwóch zmiennych?
Jak do zwykłej tablicy?

  1. <?php
  2. $zmienna = aa();
  3. $zmienna[0] // wartosc 1
  4. $zmienna[1] // wartosc 2
  5. ?>

w ten sposób?

No tak... sam sprawdzić nie mogłeś...? tongue.gif
Go to the top of the page
+Quote Post
kukix
post
Post #5





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Cytat(nowotny @ 22.03.2008, 17:25:18 ) *
No tak... sam sprawdzić nie mogłeś...? tongue.gif



Dzieki wielkie za podpowiedź.

W ciągu kilku lat pracy z php porpostu ani razu nie trafiłem na taki przypadek.
I nie wpadlem, żeby zwrócic tablice.
Dzieki jeszcze raz.

Ten post edytował kukix 22.03.2008, 15:27:37
Go to the top of the page
+Quote Post
matix
post
Post #6





Grupa: Zarejestrowani
Postów: 278
Pomógł: 10
Dołączył: 13.02.2007
Skąd: Rybnik

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


<offtopic>Ale kręcisz biggrin.gif</offtopic>

biggrin.gif


--------------------
Nawet, jeżeli nie jesteś zainteresowany usługami IT ani outsourcingiem, a Twoją pasją jest programowanie - zobacz naszą stronę. Piszemy dużo fajnych use-caseów, jak podchodzimy do tematu programowania dla naszych klientów. A tak na co dzień tworzymy budujemy mvp oraz tworzymy platformę b2b.
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 Aktualny czas: 19.08.2025 - 19:15