---
title: "Funktion med valfritt antal argument?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/79292-funktion-med-valfritt-antal-argument"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Peeer"
published: "2003-06-09T22:02:10.000Z"
updated: "2003-06-10T07:42:44.000Z"
replies: 4
views: 242
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/79292-funktion-med-valfritt-antal-argument"
---

# Funktion med valfritt antal argument?

## #1 — Peeer, 2003-06-09T22:02Z

Har en funktion som ser ut som nedan. Problemet är att jag vill kunna anropa den med valfritt antal argument. Dvs. Hoppa över ett argument ibland.
Om jag ex. inte vill skicka med $intID så vill jag kunna skriva ex. mkLink("Doff",,"Hihi","hej"), men det går inte.
Parse error: parse error, unexpected ',' in e:\\wwwroot\\pm.php on line 79.
Så då måste jag lägga in ett totalt onödigt värde där mkLink("Doff",1,"Hihi","hej"). Kan ju inte vara nödvändigt att man måste göra så?

```php
function mkLink($strType,$intID,$strName,$strText)
{
...
}
```

Permalänk: https://www.webforum.nu/p/79292

## #2 — sabbacus, 2003-06-09T22:55Z

Du kan skicka in tomma variabler och använda dig av empty() för att filtrera de. Notera dock att empty() returnerar sant även då värdet är 0 och "0".
<http://se.php.net/manual/en/function.empty.php>

Permalänk: https://www.webforum.nu/p/1079978

## #3 — Kent.J, 2003-06-10T00:00Z

Man kan ju fuska o köra eval annars.
Men i ditt fall är det nog lättare o skicka dummyvalue känns det som.

```
function foo()
{
foreach (func_get_args() as $k=>$arg) eval ("\$$arg;");
return $a+$b;
}
echo "A+B: ".foo("a=5", "b=3");
```

Permalänk: https://www.webforum.nu/p/1079993

## #4 — Matte, 2003-06-10T06:28Z

Det går inte att hoppa över argument, men däremot går det att plocka bort dom från slutet om man har standardvärden:

```
function mkLink($strType, $intID=1, $strName='HiHi', $strText='Hej')
```

 

Då går det att kalla på funktionen på följande vis:

```
mkLink("Doff",1,"värde 1","värde 2");
mkLink("Doff",2,"Tjoho");
mkLink("Doff",0);
mkLink("Doff");
```

 
När inget argument är anget i funktionsanropet så tas standardvärdet. Jag repeterar: du kan däremot inte hoppa över argument.

Permalänk: https://www.webforum.nu/p/1080029

## #5 — Peeer, 2003-06-10T07:42Z

Jahaja, tack för hjälpen killar!

Permalänk: https://www.webforum.nu/p/1080069

---

Tråden på webben: https://www.webforum.nu/amne/php/79292-funktion-med-valfritt-antal-argument
