Autor Zpráva
divá_bára
Profil *
Nejdříve kód.

function Funkce($slovo){
    $veta   = "Ahoj ".$slovo;
    $veta2 = "Tě pic ".$slovo;
    $veta3 = "Hi ".$slovo;
}

Funkce("Prde")

print $veta3; // vypíše: Hi Prde (nevypíše)



Co dopsat, abych mohla proměnnou $veta1, $veta2, $veta3 používat dále i mimo funkci?
divá_bára
Profil *
Edit: Funkce("Prde");
Darkweaver
Profil
udělat je jako globální ?
Nox
Profil
Většinou se setkávám s ne moc dobrým názorem na globální proměnné, takže třeba přepracovat takto:
function Funkce($slovo){
  return array("Ahoj $slovo","Tě pic $slovo","Hi $slovo");
}

$veta = Funkce("Franto");
echo $veta[2];
Majkl578
Profil
function Funkce($slovo, &$veta3){
    $veta   = "Ahoj ".$slovo;
    $veta2 = "Tě pic ".$slovo;
    $veta3 = "Hi ".$slovo;
}

Funkce("Prde", $veta);

print $veta; // vypíše: Hi Prde

tomuhle se rika passing-by-reference, return by bylo ale lepsi
Mastodont
Profil
tomuhle se rika passing-by-reference, return by bylo ale lepsi
To je otázka názoru. Výstupní parametry, předávané odkazem, jsou IMHO běžné hlavně v C a C++, kde return vrátí údaj o tom, zda volání funkce skončilo úspěchem nebo ne, případné výstupy jsou vraceny jinak. Osobně mám tento způsob rád i v PHP, jehož syntaxe je koneckonců Céčku hodně příbuzná.

Bez výstupních parametrů:
$vystup = nacistdata(....);
if ( empty($vystup))
    echo 'Chyba bla bla bla ...';
else
    echo $vystup;


S výstupními parametry:
if (nacistdata($vstup, $vystup, $chyba))
   echo $vystup;
else
   echo  $chyba;

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: