Avatar billede thomaxz Nybegynder
02. december 2005 - 19:10 Der er 16 kommentarer og
1 løsning

functions problem, flere variabler

Kan de lade sig gørte i php at lave en functioner der retnere mere end en værdi, altså

f.esk

function (abc,deb,cfg)
{
//function funktioner

//--> nu skal funktione så retunere
//to variabler f.esk $abc og $xyz
}

er det så mulig at få to variable (de 2 den skal retuner tilbage ) ito forksleig variabler på en måde.?
Avatar billede michael_stim Ekspert
02. december 2005 - 19:15 #1
I et array
Avatar billede thomaxz Nybegynder
02. december 2005 - 19:16 #2
hvordan?, kan du komme med et eks.?
Avatar billede michael_stim Ekspert
02. december 2005 - 19:17 #3
Eller du sätter stringen sammen og skiller den ad når du skal bruge den.
Avatar billede michael_stim Ekspert
02. december 2005 - 19:19 #4
$retur_str=array();
retur_str['$var1']=$var2;
return $retur_str;
Avatar billede michael_stim Ekspert
02. december 2005 - 19:20 #5
$retur_str=array();
$retur_str['$var1']=$var2;
return $retur_str;
Glemte lige dollaserne.
www.php.net/array
Avatar billede erikjacobsen Ekspert
02. december 2005 - 19:24 #6
Eller som referenceparameter. Eksempel med een:

    function sum(&$x,$n1,$n2) {
      $x=$n1+$n2;
    }


    sum($a,8,9);

    print $a;
Avatar billede thomaxz Nybegynder
02. december 2005 - 19:25 #7
er ikke sikekr på at jeg kan bruge det.
->
jeg har en function der finder to informationer,
de to infomationer bliver gemt i hver deres variable $km og $tid
men kan det lade sig gøre at retunere de to variabler ind i to forksllige variabler som f.esk $km1 og $tid1, lige nu samleer jeg variabler for at skille dem efter retunereing, hvilket ikke er hensigsmæssigt.
Avatar billede thomaxz Nybegynder
02. december 2005 - 19:26 #8
reference paramter lyder fornugtfit, tjekker de lige ud,
Avatar billede erikjacobsen Ekspert
02. december 2005 - 19:38 #9
Arrays er bestemt også en løsning. Se fx:

    function sumdif($n1,$n2) {
        return array($n1+$n2,$n1-$n2);
    }

    list($s,$d) = sumdif(8,9);

    print "$s $d";
Avatar billede thomaxz Nybegynder
02. december 2005 - 19:47 #10
function skift(&$km1,&$tid1,&$km2,&$tid2,&$fvej,&$fhus,&$fpost,&$fby,&$fvej2,&$fhus2,&$fpost2,&$fby2)
{
    //skifter først via > temp
    $tmpvej=$fvej2;
    $tmphus=$fhus2;
    $tmppost=$fpost2;
    $tmpby=$fby2;
    $tmpkm=$km2;
    $tmptid=$tid2;
    //så fra > fra2
    $fvej2=$fvej;
    $fhus2=$fhus;
    $fpost2=$fpost;
    $fby2=$fby;
    $km2=$km1;
    $tid2=$tid1;
    //så temp > fra
    $fvej=$tmpvej;
    $fhus=$tmphus;
    $fpost=$tmppost;
    $fby=$tmpby;
    $km1=$tmpkm;
    $tid1=$tmptid;
    //skifter
} //slut functin skift

det ser ikke ud til at funktioner virker optimalt?
den skifter post korekt, fjerne alle andre, men beholder hus?
Avatar billede erikjacobsen Ekspert
02. december 2005 - 19:53 #11
Du har nok lavet en lille fejl. Det kan nok nemmere laves som


    $a="a"; $b="b";
    $c="c"; $d="d";
    $e="e"; $f="f";
   
    print "$a$b$c$d$e$f\n";

    list($a,$b,$c,$d,$e,$f) = Array($f,$e,$d,$c,$b,$a);

    print "$a$b$c$d$e$f\n";
Avatar billede michael_stim Ekspert
02. december 2005 - 20:07 #12
function skift($km1,$tid1,$km2,$tid2,$fvej,$fhus,$fpost,$fby,$fvej2,$fhus2,$fpost2,$fby2)
{
    //skifter først via > temp
    $tmpvej=$fvej2;
    $tmphus=$fhus2;
    $tmppost=$fpost2;
    $tmpby=$fby2;
    $tmpkm=$km2;
    $tmptid=$tid2;
    //så fra > fra2
    $fvej2=$fvej;
    $fhus2=$fhus;
    $fpost2=$fpost;
    $fby2=$fby;
    $km2=$km1;
    $tid2=$tid1;
    //så temp > fra
    $fvej=$tmpvej;
    $fhus=$tmphus;
    $fpost=$tmppost;
    $fby=$tmpby;
    $km1=$tmpkm;
    $tid1=$tmptid;
    $arr=array($fvej,$fhus,$fpost,$fby,$km1,$tid1);
    return $arr;
    //skifter
} //slut functin skift
foreach(skift('km1','tid1','km2','tid2','fvej','fhus','fpost','fby','fvej2','fhus2','fpost2','fby2') as $value) {
echo"Värdi-> ".$value."<br>";
}

Fungerer fint her. Du havde et s for meget i tid.
Avatar billede thomaxz Nybegynder
02. december 2005 - 20:43 #13
min ide, med det var at jeg, medsendte variabler og fik dem retur ombyttet.

        skift($km1,$tid1,$km2,$tid2,$fravej,$frahus,$frapost,$fraby,$rafvej2,$frahus2,$frapost2,$rafby2);

$fpost, bliver i hvertfald $fpost2,

men ingen af de andre bliver til noget

og $fhus, rør den slev't ik.
Avatar billede michael_stim Ekspert
02. december 2005 - 21:00 #14
Avatar billede thomaxz Nybegynder
02. december 2005 - 21:00 #15
ser ud til at virke fint :P
havde kommed til at parse nogle tomem variable,r så bliver til tom, altså skrevet variablenvane på kalden forkert.
Avatar billede thomaxz Nybegynder
07. december 2005 - 20:46 #16
tak, kom et svar hvis i vil have points.
Avatar billede thomaxz Nybegynder
12. december 2005 - 09:37 #17
napper points selv, da ingen af jer har lagt et svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester