/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Funktion med variablet antal input/output
Fra : Crazy


Dato : 02-08-11 04:30

Hvis jeg skal lave en funktion der enten skal have et variablet antal
input og/eller output, hvordan gør jeg så bedst det?

F.eks. kunne jeg godt tænke mig følgende pseudo-kode:
function QueryDB ($input1, $input2 ...) {
mysql_query("SELECT WHERE field1=$input1 AND field2=...
return $result1, $result2 ...
}

... og hvor jeg så kan kalde den på disse måder:
$result1 = QueryDB("Bananer");
$result1,$result2,$result3 = QueryDB("Bananer","Ski","Hest",
1,88,21.1);

Er den eneste mulighed arrays både ved input og output?

 
 
Martin Larsen (02-08-2011)
Kommentar
Fra : Martin Larsen


Dato : 02-08-11 13:47

Crazy wrote:

> Hvis jeg skal lave en funktion der enten skal have et variablet antal
> input og/eller output, hvordan gør jeg så bedst det?

Du skal bruge funktionerne func_num_args og func_get_args.

Jeg googlede lige et eksempel her som du nemt kan bruge som udgangspunkt:

http://www.bestcodingpractices.com/php_function_with_variable_arguments-9.html

Birger Sørensen (02-08-2011)
Kommentar
Fra : Birger Sørensen


Dato : 02-08-11 14:15

Efter mange tanker skrev Crazy:
> Hvis jeg skal lave en funktion der enten skal have et variablet antal
> input og/eller output, hvordan gør jeg så bedst det?
>
> F.eks. kunne jeg godt tænke mig følgende pseudo-kode:
> function QueryDB ($input1, $input2 ...) {
> mysql_query("SELECT WHERE field1=$input1 AND field2=...
> return $result1, $result2 ...
> }
>
> .. og hvor jeg så kan kalde den på disse måder:
> $result1 = QueryDB("Bananer");
> $result1,$result2,$result3 = QueryDB("Bananer","Ski","Hest",
> 1,88,21.1);
>
> Er den eneste mulighed arrays både ved input og output?

Afhænger lidt af hvad du skal bruge det til.
I tillæg til de svar du allrede har fået - og måske specielt mht flere
output:
læg dine input/output i arrays og brug global:
function whatever() {
global $in_array, $out_array;
// kode der lægger svar i $out_array, afhængigt af værdier i $in_array
}

Ved godt at OOP principielt ikke tillader brug af globale variable.

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste