Tach!
Über variable Variablen $array[0] zeigt auf den Wert und wenn der einen Variablenbezeichner enthält, dann $ davor und zur Not (wie in diesem Fall) noch {} dazu, also ${$array[0]}
Das klappt bei Arrays nicht
Notice: Undefined variable: $_haystack['first']['3']
egal, ob mit Häkchen für den Elementbezeichner des Arrays oder ohne.
Hmm, ich hab bis zu dieser Fehlermeldung getestet, ohne die Variable anzulegen. Das sieht also so aus, dass die gesamte Zeichenkette als Name der Variablen verwendet wird. Sonst würde nur _haystack angemeckert werden oder Array-Zugriff. Also so gehts nicht. Muss man parsen.
Eine Lösung habe ich, aber ob die so gut ist?
parse_str($names, $_output);
Mit einer Funktion für den Querystring willst du einen Variablennamen lesen?
Der Gesamte String muss erst geparst werden, damit Variablenbezeichner und Elementbezeichner voneinander getrennt ausgewertet werden können.
Damit löst es wenigstens die [] auf, die ja auch in Namen von Formular-Elementen verwendet werden können.
Mich interessiert es, den Bezeichnernamen wieder benutzbar zu machen.
Warum sind die überhaupt in Strings drin? Hast du darauf Einfluss?
dedlfix.