Mailinglisten-Archive |
Hi Lutz, Lutz Zetzsche wrote: > Am Montag, 2. Oktober 2006 14:45 schrieb Niels Runge: > >> folgendes ist wohl sinnvoller -> >> >> function show() { >> $transmit_method='POST'; >> print_r($GLOBALS['_'.$transmit_method]); >> } >> > > das ist mal eine coole Lösung. :-))) Ich frage mich aber immer noch, was > da intern in PHP passiert, daß es halt außerhalb von Funktionen und > Methoden funktioniert, innerhalb aber nicht... Gibt es vielleicht > irgendjemanden hier, der sich in den Tiefen von PHP so auskennt, daß er > die Antwort darauf weiß? :-) Die würde mich nämlich wirklich > interessieren... ;-) > Alex schrieb ja schon dass im Manual folgendes steht -> Please note that variable variables cannot be used with PHP's Superglobal arrays within functions or class methods. Ich denke PHP sucht in Funktionen/Methoden nach der lokalen Variable . Selbst wenn man vorher probiert per $_POST = array('abc') die Variable zu definieren/verändern, dann greift man automatisch auf die Superglobale drauf zu (macht ja auch nur so Sinn). Und dadurch kann man keine lokale Variable definieren die den Namen einer Superglobale hat. $_POST = array('testvar' => 1234); function test() { $_POST = array(2); } print_r($_POST); test(); print_r($_POST); Aber nur ne Vermutung ;-) Gruß Niels
php::bar PHP Wiki - Listenarchive