Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [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
 
Start new topic
Odpowiedzi (1 - 5)
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ś...? (IMG:http://forum.php.pl/style_emoticons/default/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ś...? (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) </offtopic>

(IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
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: 23.08.2025 - 08:44