jens65m: php function => variable zurückgeben

Hallo Community,

wie kann ich verwirklichen, dass eine Funktion eine Variable setzt, die dann generell verfügbar ist. Geht das Überhaupt? Oder könnte ich folgendes Problem irgendwie anders lösen?

$arr = array();

function()
{
    $arr[] = "wert1";
    $arr[] = "wert2";
}

echo implode($arr);

es geht nicht darum, den echo-Befehl einfach in die Funktion zu kopieren. Das geht nicht, das bereits vor der Funktion $arr-Werte gesammelt wurden, dies auch nach der Funktion noch geschieht und die Ausgabe erst später erfolgt.
Lg, Jens

  1. Hallo,

    wie kann ich verwirklichen, dass eine Funktion eine Variable setzt, die dann generell verfügbar ist. Geht das Überhaupt?

    ja, und sogar auf unterschiedliche Weise. Dir fehlen immer noch elementare Grundlagen der Programmierung, die du dir mal langsam aneignen solltest!

    $arr = array();

    function()
    {
        $arr[] = "wert1";
        $arr[] = "wert2";
    }

    echo implode($arr);

    Du kannst aus der Funktion heraus auf die globale Variable zugreifen - dazu musst du sie aber in der Funktion als global bekanntmachen.
    Das ist aber alles andere als empfehlenswert, denn es widerspricht dem Konzept der Modularisierung, also der Erstellung von in sich abgeschlossenen Code-Einheiten. Funktionen, die eine bestimmte Aufgabe erledigen, sollten normalerweise solche abgeschlossenen Einheiten sein, die nicht von Daten und Strukturen abhängig sind, die anderswo deklariert werden.

    Wesentlich besser ist es, das Array erst in der Funktion zu deklarieren und dann als Funktionsergebnis zurückzugeben.
    Alternativ kannst du das Array als Referenz-Parameter an die Funktion übergeben. Dann kannst du es auch außerhalb erstellen.

    Ciao,
     Martin

    --
    Es existiert kein Weg, "für" etwas zu optimieren, sondern nur gegen alles andere.
      (Cheatah)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(