---
title: "Vill hämta mer än en variabel från en funktion"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/88012-vill-hämta-mer-än-en-variabel-från-en-funktion"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "GrodanBoll"
published: "2003-10-08T17:33:16.000Z"
updated: "2003-10-10T19:24:47.000Z"
replies: 9
views: 314
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/88012-vill-hämta-mer-än-en-variabel-från-en-funktion"
---

# Vill hämta mer än en variabel från en funktion

## #1 — GrodanBoll, 2003-10-08T17:33Z

Tjabba tjena

Jag vill alltså hämta en array o en sträng från en funktion i en klass. Typ MyKlass -\> myFunc().
Funktionen returnerar en array på det vanliga sättet  men jag vill även returnera en sträng.

Vet ju att man kan använda MyKlass -\> myFunc(&$strEtt) för att hämta upp $strEtt igen men hur vettigt e att göra på detta sättet? E det ful-kodning?
Ska man kanske istället anropa en funktion till som då returnetrar strängen på det vanliga sättet (delar då upp den ursprungliga funktionen)? Även om det känns som en omväg och till viss del dubblerar lite kod.

Vad rekommenderas?

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

## #2 — Kent.J, 2003-10-09T09:56Z

Hur kan det vara "fulkodning" att ha en funktion som hämtar ett värde på en variablen? Det är väl snare rätt väg att gå...

Nånggn i framtiden kanske du bara vill ha arrayen och inte strängen dessutom.

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

## #3 — SPiN, 2003-10-09T10:34Z

Jo, det är fulkod att använda sig av globala variabler och ändra värden på dem inuti metoder/funktioner. Det du ska göra är att dela upp ursprungsmetoden till två - en för strängen, och en för arrayen. :)

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

## #4 — Kent.J, 2003-10-09T12:25Z

Ah... missade &-tecknet. 
Skulle inte allt bli call-by-reference i 5.0? Fina möjligheter för fulkodning ;)

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

## #5 — SPiN, 2003-10-09T12:31Z

Njä, det gerju en del möjligheter också - som inte är fulkod. Men just i det här fallet betraktar jag det som fulkod, och att det är bättre med att dela upp metoden. :)

I 5.0 kommer ju allt att bli mer objektorienterat, så det får nog sina fördelar där. :)

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

## #6 — GrodanBoll, 2003-10-09T13:05Z

Ok, tackar  :bire 
Kommer att testa o dela upp funktionen då. :)

/Grodan

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

## #7 — Patrik81, 2003-10-09T17:56Z

Har en liten fundering här. Skulle man inte kunna returnera en array, som i sig håller arrayen på en post, och strängen på en annan.
Alltså typ:

```php
$arr = array();
$arr[] = $array_att_returnera;
$arr[] = $sträng_att_returnera;

return $arr;
```

Eller är detat sättet också "fult"?

MVH Patrik

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

## #8 — SPiN, 2003-10-09T18:18Z

Självklart går det att göra så, men jag skulle föredra att dela upp metoden. Det blir mycket snyggare.

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

## #9 — spango, 2003-10-09T18:37Z

Re: Vill hämta mer än en variabel från en funktion

> **GrodanBoll skrev:**
>
> Vad rekommenderas?

Om det faktiskt finns en anledning, är det inget fel att använda referenser. Däremot brukar man säga att funktioner inte ska ha både bieffekter \*och\* returvärden (även om den principen är ganska ruckad på ;) ). Däremot tycker jag att du borde ange referensoperatorn i funktionshuvudet i stället för vid anrop:

```
function foo(&$arr, &$str){
    ...
}
```

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

## #10 — Patrik81, 2003-10-10T19:24Z

Jag håller nog med dig SPiN, ju enklare en funktion är, desto mindre som kan bli fel med den, jag ville bara höra åsikter på denna metod.

MVH Patrik

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

---

Tråden på webben: https://www.webforum.nu/amne/php/88012-vill-hämta-mer-än-en-variabel-från-en-funktion
