Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Zwracanie przez funkcje dwóch wartości? return($zm1, $zm2) ?
Forum PHP.pl > Forum > PHP
kukix
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..
nowotny
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...
kukix
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?
nowotny
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
kukix
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.
matix
<offtopic>Ale kręcisz biggrin.gif</offtopic>

biggrin.gif
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.