---
title: "Komma åt klasser via variabla variabler"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/109742-komma-åt-klasser-via-variabla-variabler"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "GrodanBoll"
published: "2004-08-21T08:06:42.000Z"
updated: "2004-08-21T10:17:14.000Z"
replies: 9
views: 257
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/109742-komma-åt-klasser-via-variabla-variabler"
---

# Komma åt klasser via variabla variabler

## #1 — GrodanBoll, 2004-08-21T08:06Z

Hej :)

Jag får inte nedanstående kod att fungera. Förstår inte varför.

```php

class kalle
{
	var $kalle1 = 1;
	var $kalle2 = 2;
	
	function getKalle ()
	{
		return $this -> kalle1;
	
	}

}

$b = new kalle();
$ggg = "b -> getKalle ()";
echo "Meeeeeen: ".${$ggg}.".<br />";
```

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

## #2 — Eitraz, 2004-08-21T08:31Z

Är det detta du vill göra?

```php
$b = new kalle();
$ggg = $b -> getKalle();
echo "Meeeeeen: ".$ggg.".<br />";
```

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

## #3 — matthew, 2004-08-21T08:33Z

```php
class kalle
{
    var $kalle1 = 1;
    var $kalle2 = 2;
    
    function getKalle ()
    {
        return $this->kalle1;
    
    }

}

$b = new kalle();
$ggg = $b->getKalle();
echo "Meeeeeen: ".$ggg.".<br />";
```

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

## #4 — GrodanBoll, 2004-08-21T08:46Z

Nope, jag vill använda mig av variabla variabler, se <http://se.php.net/manual/sv/language.variables.variable.php>

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

## #5 — Matte, 2004-08-21T08:56Z

Då måste ditt värde på $kalle1 ha ett värde som är en sträng som inte får börja med siffra, för $1 är inget godkänt variabelnamn.

Det här fungerar:

```php
class kalle
{
    var $kalle1 = 'hej';
    var $kalle2 = 'hopp';
    
    function getKalle ()
    {
        return $this -> kalle1;
    
    }

}

$hej = 'Ja';
$hopp = 'Nej';

$b = new kalle();
$ggg = $b->getKalle();
echo "Meeeeeen: ".$$ggg.".<br />";
```

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

## #6 — GrodanBoll, 2004-08-21T09:50Z

Nja Matte

Jag vill ha själva 

```php
$ggg = "b->getKalle()";
```

 
Och sen att jag kan komma åt den via 

```php
echo "Meeeeeen: ".${$ggg}.".<br />";
```

 
Jag vet nämligen inte förrän vid run-time vilken funktion jag ska fråga efter.
Och istället vör att använda en oändligt, känns det soom iaf, antal if-satser så hade det varit najs med att använda variabla variabler istället.

Sen förstår jag inte riktigt vad du menar att jag måste ha en sträng i $kalle1 för. Allt jag vill ha e ju värdet därifrån.

Missförstod jag dig eller du mig? ;)

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

## #7 — GrodanBoll, 2004-08-21T09:56Z

Kan väl tillägga att jag inte kan komma åt funktioner utan endast värden i variabler tydligen. 
Varför är det så?

```php
// Test 1
function viktor ()
{
	$ville = 23;
	return $ville;
}

$hmm = "viktor ()";
echo "Testar att anropa funktionen 'viktor': ".${$hmm}."<br />";

// Test 2
$value1 = 32;
$hmm2 = "value1";
echo "Testar att få tag i värdet från variablen 'value1': ".${$hmm2}."<br />";
```

 

Alltså Test1 fungerar inte, men Test 2 fungerar utmärkt.

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

## #8 — Matte, 2004-08-21T10:02Z

Du får göra något på det här hållet:

```php
class kalle
{
    var $kalle1 = 1;
    var $kalle2 = 2;
    
    function getKalle ()
    {
        return $this -> kalle1;
    
    }

}

$b = new kalle();
$ggg = "b -> getKalle ()";
eval('$var = $'.$ggg.';');
echo "Meeeeeen: ".$var.".<br />";
```

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

## #9 — pimme, 2004-08-21T10:03Z

Re: Komma åt klasser via variabla variabler

```php
$ggg = "b -> getKalle";
echo "Meeeeeen: ". $ggg() .".<br />";
```

funkar iaf för "vanliga" funktioner, vet inte om det funkar för funktioner i klasser.

/edit:
$ggg = '$b -\> getKalle';
n du ju testa om det andra inte funkar.

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

## #10 — GrodanBoll, 2004-08-21T10:17Z

Jepp Pimme upptäckte det sedan, tack för svaret. :)

Matte, über.
Kanon, jag får ta det det hållet istället men det gör så att allt funkar på det sättet jag vill.
Bugar och tackar.   :birp

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

---

Tråden på webben: https://www.webforum.nu/amne/php/109742-komma-åt-klasser-via-variabla-variabler
