Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> funkcja nie zwraca 3 zmiennych
invx
post
Post #1





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


znowu problem (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

mam funkcje, i chce zeby ona zwrucila 3 zmienne

  1. <?php
  2.  
  3. function aaa ()
  4. {
  5. ...
  6. return $a;
  7. return $b;
  8. return $c;
  9. }
  10.  
  11. ?>


potem w kodzie robie
  1. <?php
  2.  
  3. $qqq = aaa();
  4.  
  5. ?>


i to mi dziala jesli zwracam jedna zmienna, ale jak chce 3 ... (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

____________________________
i drugi problem zeby tematow nie mnozyc
_______________________________________

mam w funkcji kod
  1. <?php
  2.  
  3. global $ile;
  4. $ile = $ile_rekoedow/$poile;
  5.  
  6. ?>


wg. tego co wiem, to ma $ile byc globalba, dostepna poza funkcja, ja ta funkcje includuje do pliku, daje echo"$ile" i nic mi sie nie wyswietla, zmiennej nie ma ...

P.S.
chcialem to dolaczyc do mojego poprzedniego tematu, ale nie moglem, ktos hyba go przyblokowal....
Go to the top of the page
+Quote Post
popbart
post
Post #2





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 22.04.2004
Skąd: Żoliborz

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


  1. <?php
  2. function aaa ()
  3. {
  4. ...
  5. $return=$a.$b.$c;
  6. return $return;
  7. }
  8.  
  9. ?>

A widziałeś kiedyś manual? return" title="Zobacz w manualu PHP" target="_manual

Co do drugiego, to może byś wywołał tą funkcję (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)

Ten post edytował popbart 23.01.2005, 11:21:15
Go to the top of the page
+Quote Post
invx
post
Post #3





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


1. tak, ale jak potem w kodzie mam echo funkcja() to mi zwrca te polaczone zmienne i mam to potem rozdzielac na tablice ?
2.
(IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) :D:D ale smieszne
jasne ze funkcja jest wywolana (IMG:http://forum.php.pl/style_emoticons/default/angrysmiley.gif)

Ten post edytował invx 23.01.2005, 11:33:50
Go to the top of the page
+Quote Post
shima
post
Post #4





Grupa: Zarejestrowani
Postów: 245
Pomógł: 0
Dołączył: 9.09.2002

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


return" title="Zobacz w manualu PHP" target="_manual kończy działanie funkcji, więc dwa ostatnie nie zostaną NIGDY wywołane. Użyj zwracania tablicy 3-elementowej albo explode" title="Zobacz w manualu PHP" target="_manual mna sklejonym stringu jak napisał popbart. No i poczytaj jednak trochę...
Go to the top of the page
+Quote Post
Vengeance
post
Post #5





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

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


pyt1 .
  1. <?php
  2. function aaa()
  3. {
  4.  //...
  5.  return array($a, $b, $c)
  6. }
  7.  
  8. print_r(aaa());
  9. ?>


pyt 2.
w funkcji daj:
function aaa()
{
global $ile;
}

a pomin to w "normalnej" czesci pliku
Go to the top of the page
+Quote Post
invx
post
Post #6





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


Cytat
a pomin to w "normalnej" czesci pliku


co mam pominac??
global $aaa mam w funkcji nie poza nia.
Go to the top of the page
+Quote Post
crash
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Tak w ogóle po co co się tak przyczepiłeś do tego global $ile? Nie lepiej dać po prostu:
  1. <?php
  2. function aaa($ile)
  3. {
  4.  /* ... */
  5. }
  6. ?>


Ten post edytował crashu 23.01.2005, 20:53:46
Go to the top of the page
+Quote Post
invx
post
Post #8





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


no tak, ale global to wyglada tak ... profesionalniej, pozatym sie ucze i chce prubowac wszytkiego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
crash
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Funkcje mają to do siebie, że przyjmują argumenty, więc tego też spróbuj...

Ten post edytował crashu 23.01.2005, 21:11:30
Go to the top of the page
+Quote Post
NuLL
post
Post #10





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Jeślio chodzi o zwracanie lepiej zwracać tablicę.
Go to the top of the page
+Quote Post
sobstel
post
Post #11





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


mozna nic nie zwracac i skorzystac z referencji

  1. <?php
  2.  
  3. $a = $b = $c= '';
  4. function aaa (&$a, &$b, &$c) {
  5. $a = cos;
  6. $b = cos;
  7. $c = cos;
  8. }
  9.  
  10. ?>


Ten post edytował sopel 23.01.2005, 23:41:35
Go to the top of the page
+Quote Post
scanner
post
Post #12





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat(invx @ 2005-01-23 22:01:52)
no tak, ale global to wyglada tak ... profesionalniej, pozatym sie ucze i chce prubowac wszytkiego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Gówno prawda.

Funkcja powinna być hermetyczna - korzystać z parametrów i zwracac wyniki a nie odwoływać się do jakiś obcych zmiennych, nad którymi nie ma kontroli.

Przez takie myślenie jak Twoje są wycieki pamięci, przepełnienia stosów i inne dziury.
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: 24.08.2025 - 11:58