ottonormalverbraucher: Wie kann man den ass. Index eines Arrays in eine Vart bekomme`n?

Guten Tag,

also ich stehe vor folgendem Problem.
Ich arbeite mit der Template Klasse Smarty.

ich möchte eine Funktion schreiben in der ich wahlweise eine Variable für die Schablone und dessen Wert übergeben kann und außerdem nur ein assoziatives Array.
Dabei sollen der Index des Arrays die Template Vars sein und die Werte die Inhalte. Mit welcher Funktion kann man nun die assoziativen Indices in Variablen speichern.

Beispiel:

Ich möchte folgendes Array an die Funktion übergeben:

$obst['apfel'] = "1 Euro";
$obst['banane'] = " Euro";

Bis her habe ich nur folgendes und komme nicht weiter:

function assignVars($varname, $value)
{
 global $smarty;
 if ($varname == "")
 {
        $this->smarty->assign($varname, $value); // Hier das Obst
 }

else
 {

}
}

Also ich möchte, dass wenn nur ein Array übergeben wird folgende Zuweisung erfolgt:

$this->smarty->("apfel",$obst['apfel']);

Kann man ein ass. Array mit einer Schleife durchlaufen?

1000000 x Dank!

gruß

Otto

  1. hi,

    Kann man ein ass. Array mit einer Schleife durchlaufen?

    natürlich kann man, wie jedes andere array auch mit foreach() z.b.

    aber dein problem scheint ja erstmal zu sein, wie du an die namen der schlüssel rankommst, wenn du diese nicht kennst.

    dazu sieh dir mal http://www.php.net/manual/de/function.array-keys.php an.

    gruss,
    wahsaga

    1. aber dein problem scheint ja erstmal zu sein, wie du an die namen der schlüssel rankommst, wenn du diese nicht kennst.

      da können wir auch direkt bei foreach bleiben:

      foreach ($obst as $key => $value) {
        echo "$key = $value";
      }

      ergibt in diesem Fall dann:
      apfel = 1 Euro
      ...

      schöne Grüße
      FICHTL