Autor Zpráva
Martin87
Profil *
Jak udelat, aby fce vracela vice nez 1 promennou? Return $a,$b nefunguje...Diky
Jan Tvrdík
Profil
Martin87
Nelze. Můžeš vrátit pouze pole.
Měsíček
Profil
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
?>
Případně své vlastní hodnoty pomocí PHP funkcí spojíš do jediného pole a mimo funkci ho zase rozsekáš.
nightfish
Profil
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
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
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));
?>
wrestler
Profil
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
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).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0