Autor | Zpráva | ||
---|---|---|---|
Martin87 Profil * |
#1 · Zasláno: 13. 12. 2008, 15:38:45
Jak udelat, aby fce vracela vice nez 1 promennou? Return $a,$b nefunguje...Diky
|
||
Jan Tvrdík Profil |
#2 · Zasláno: 13. 12. 2008, 15:39:42
Martin87
Nelze. Můžeš vrátit pouze pole. |
||
Měsíček Profil |
#3 · Zasláno: 13. 12. 2008, 15:42:58 · Upravil/a: Měsíček
Já bych to dělal takhle:
<?php $x = Array(); function return_f (&$x) { for ($i = 0; $i < 10; $i++) { $x[] = $i; } return $x; # Vrátí pole hodnot } return_f($x); # Volání funkce print_r ($x); # Vypsání vráceného pole hodnot ?> |
||
nightfish Profil |
#4 · Zasláno: 13. 12. 2008, 17:31:10
Měsíček
ve tvém řešení mi přijde nadbytečné to return $x;, protože hodnotu vracenou z funkce okázale ignoruješ... |
||
Majkl578 Profil |
#5 · Zasláno: 13. 12. 2008, 17:40:08 · Upravil/a: Majkl578
a co treba passing by reference?
function funkce(&$vratit1, &$vratit2) { $vratit1 = 'hodnota1'; $vratit2 = 'hodnota2'; } http://cz.php.net/language.references.pass |
||
Měsíček Profil |
#6 · Zasláno: 13. 12. 2008, 17:43:44
Reaguji na nightfishe:
Pravda, tak tady by se mohl už využít .. <?php function f_return ($param_1 = 4) { $x = Array(); for ($i = 0; $i <= 10; $i++) { $x[] = ($param_1+$i); } return $x; } print_r(f_return(3)); ?> |
||
Časová prodleva: 15 dní
|
|||
wrestler Profil |
#7 · Zasláno: 28. 12. 2008, 17:25:10 · Upravil/a: wrestler
Martin87
Nejlepší bude asi něco na způsob toho, co dodal Měsíček ve #3, a sice: <?php function ret_more($odd){ $a = rand(2, 7); $b = rand(8, 13); return "$a$odd$b"; } list($a, $b) = explode("::", ret_more("::")); ?> Popř. místo :: zvolit jiný šílenější oddělovač, jehož pravděpodobnost výskytu by byla v dílčích proměnných velmi malá. |
||
Mastodont Profil |
#8 · Zasláno: 28. 12. 2008, 17:34:48
Hlasuji pro výstupní parametry, viz Majkl578. Má to tu výhodu, že návratová hodnota může signalizovat úspěšnost funkce (jak je to zvykem v Céčku).
|
||
Časová prodleva: 15 let
|
0