Tach!
Der Scope der Variablen wäre ja kein Problem, wenn sie als Funktions-Argumente übergeben würden (oder irre ich mich?); der Aufruf wäre dann ebenso schön kurz: bar($eins, $zwei, $drei).
Ja, als Parameter gelangen die Werte in den Scope der Funktion, weil sie nun in $arg_list stehen.
Gibts denn in PHP auch eine Möglichkeit, aus dem Variablennamen $eins den String 'eins' zu gewinnen?
Diese Variablennamen existieren nicht im inneren Scope. PHP übergibt nicht die Variablen, sondern die Werte, auf die die Variablen verweisen. Man erklärt Variablen gern als Schublade, in der was drin ist. Aber das Bild passt nicht so recht zur Wirklichkeit. Vielmehr ist eine Variable nur eine Karteikarte, auf der geschrieben steht, an welcher Position im Lager der Inhalt zu finden ist. Du hast nun zwei Karteikarten, eine im Scope, aus dem du die Funktion aufrufst, und eine im Scope der Funktion.
Man kann zwar mit Reflection Dinge im Code untersuchen, aber du müsstes dabei nicht die Funktion sondern den Funktionsaufruf untersuchen. Und ob letzteres möglich ist, weiß ich nicht. Das sieht mir auf den ersten Blick auch nicht so aus.
dedlfix.