---
title: "\"Funktion som skall returnera en annan funktions retur\"-problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/76171-funktion-som-skall-returnera-en-annan-funktions-retur-problem"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Patrik81"
published: "2003-05-07T07:27:55.000Z"
updated: "2003-05-07T12:42:14.000Z"
replies: 3
views: 149
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/76171-funktion-som-skall-returnera-en-annan-funktions-retur-problem"
---

# "Funktion som skall returnera en annan funktions retur"-problem

## #1 — Patrik81, 2003-05-07T07:27Z

Hejsan, jag har ett litet problem här, det är inte helt omöjligt att jag har tänkt helt fel och kan komma på en smartare lösning, men jag har iaf. kommit fram till att jag i en databas måste lagra lite grejer och däribland en variabel, som sedan skall bli ett funktionsanrop...

```
<?php
function call_Agnus()
{
	$ret = "Agnus";
	return $ret;
}

function evaluate_call($call)
{
	$before = "call_";
	$after = "();";
	$sum = $before.$call.$after;
	// call_Agnus();
	eval($sum);
	return $ret;
}

$var_from_db = "Agnus";
$tillbaka = evaluate_call($var_from_db);
echo($tillbaka);
?>
```

så här långt har jag kommit, funktionen evaluate_call funkar och tar emot och fogar samman och kör till sist funktionen, men hur får jag tillbaka värdet från funktionen jag just kört?
Går det? 
För jag antar att call_Agnus() returnerar sitt värde till evaluate_call() och hur får man då evaluate_call() att fatta att den skall returnera det vidare till scriptet igen, så att man kan lagra värdet i en variabel?

Någon som har en idé? För jag har testat o testat, men det vill sig inte... :/

Tack på förhand

MVH Patrik

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

## #2 — monAmour, 2003-05-07T10:14Z

Hmm.. som du säger så funkar ju evalute_call och allt ser ju bra ut.. kan det vara så enkelt att det kanske funkar med att sätta variablen $ret som en Global variabel

```
Global $ret;
```

i början av skriptet?

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

## #3 — pimme, 2003-05-07T10:28Z

Re: &quot;Funktion som skall returnera en annan funktions retur&quot;-problem

```php
<?php
function call_Agnus()
{
	$ret = "Agnus";
	return $ret;
}

function evaluate_call($call)
{
	$before = "call_";
	$sum = $before.$call;
	// call_Agnus();
	return $sum();
}
//eller om du tvunget vill använda eval
function evaluate_call_2($call)
{
	$before = "call_";
	$after = "();";
	$sum = $before.$call.$after;
	// call_Agnus();
	eval("\$ret = " . $sum);
	return $ret;
}
//borde fungera iaf

$var_from_db = "Agnus";
$tillbaka = evaluate_call($var_from_db);
echo($tillbaka);
?>
```

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

## #4 — Patrik81, 2003-05-07T12:42Z

KLOCKRENT!

monAmour:  jag testade det strax efter jag hade skrivit min fråga, och visst, det funkade ju, men då blev jag lite rädd för att jag kanske skulle skriva över den variabeln i en funktion om jag anropade mer än en funktion... så det blev inge bra :/

Däremot var pimmes´s förslag helt vad jag ville ha.
Hade jag vetat att man inte behövde använda eval så hade jag inte gjort det, för det verkar lite krångligt ibland. =)
men raden 

```
return $sum();
```

gjorde hela skillnaden, himla nöjd är jag =)

Tack

MVH Patrik

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

---

Tråden på webben: https://www.webforum.nu/amne/php/76171-funktion-som-skall-returnera-en-annan-funktions-retur-problem
