php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.10.2005, 00:46  
Erfahrener Benutzer
 
Registriert seit: 05.09.2004
Beiträge: 106
PHP-Kenntnisse:
Fortgeschritten
MaMo-Net
Standard Alle Variablen einer Funktion in andere übergeben

Hi.

Ich stehe gerade vor einem (für mich) sehr komplexen Problem. Ich habe folgende (sehr vereinfachte Struktur) Struktur:
Code:
function x () {
 global $config, $db;
 // irgendwas
 $einevariable = 1;
 $nocheinevariable = $einevariable/2;
 y();
 // irgendwas
}
function y () {
 // irgendwas - es werden alle Variablen aus x() benötigt
}
x();
Nun brauche ich in y() die ganze Variablen aus x() und sie müssen auch modifiziert irgendwie wieder zurück in x().

extract() und compact() habe ich schon ausprobiert. Bin zu keinem zufriedenstellenden Ansatz gekommen. Hat wer eine Lösung zur Hand? (Am besten wäre sowas wie: getDefinedVarsInFunctionAsRefs() )

Danke und grüße, MaMo
MaMo-Net ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.10.2005, 00:54  
Erfahrener Benutzer
 
Registriert seit: 20.01.2005
Beiträge: 1.557
PHP-Kenntnisse:
Fortgeschritten
Buhmann ist zur Zeit noch ein unbeschriebenes Blatt
Buhmann eine Nachricht über ICQ schicken Buhmann eine Nachricht über MSN schicken
Standard

was hat das bei den fortgeschrittenen zu suchen? übergeb doch alle variablen per parameter an y().
Zitat:
modifiziert irgendwie wieder zurück in y().
ich nehme an, du meinst hier x() ,oder?

dann pack alle variablen in ein array, return es und dann haste die variablen bei x()...

wie du schon angedeutet hast, eignen sich hierfür compact und extract.
PHP-Code:
<?php
function () {
 global 
$config$db;
 
// irgendwas
 
$einevariable 1;
 
$nocheinevariable $einevariable/2;
 
$return y$einevariable,$nocheinevariable);
extract($return);
 
// irgendwas
}
function 
($einevariable,$nocheinevariable) {
 
// irgendwas - es werden alle Variablen aus x() benötigt
 
return(compact("einevariable","nocheinevariable"));
}
x(); 
?>
Buhmann ist offline   Mit Zitat antworten
Alt 22.10.2005, 00:57  
Erfahrener Benutzer
 
Registriert seit: 05.09.2004
Beiträge: 106
PHP-Kenntnisse:
Fortgeschritten
MaMo-Net
Standard

Hi.

Nun, es steht bei Fortgeschrittenen, weil ich es gerade so nicht haben möchte. Das ganze ist noch variabler als das da oben und es steht nicht fest was definiert ist und was nicht. Es können 10 Variablen definiert sein, aber auch garkeine.

MfG MaMo

PS: Mit Extract und Compact wüsste ich evtl. ne Lösung, dazu müsste man aber den Namen einer Variable herausfinden können. Wie geht das?
MaMo-Net ist offline   Mit Zitat antworten
Alt 22.10.2005, 03:11  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich halte wirklich _gar nichts_ von solchen scherzen.
du machst die ganze schnittstelle kaputt - du brauchst doch gar keine funktion mehr, wenn du solche schei*se machst.

aber gut, jedem seinen eigenen strick.

http://us2.php.net/call_user_func
http://us2.php.net/func_get_args
grüße
axo
axo ist offline   Mit Zitat antworten
Alt 22.10.2005, 10:43  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

...was spricht gegen eine Kasse?

Basti
Basti ist offline   Mit Zitat antworten
Alt 22.10.2005, 10:47  
Erfahrener Benutzer
 
Registriert seit: 05.09.2004
Beiträge: 106
PHP-Kenntnisse:
Fortgeschritten
MaMo-Net
Standard

Hi.

Habs mittlerweile gelöst. Wie ich festgestellt habe, gibt get_defined_vars nicht die im Script definierten Variablen zurück, sondern in einer Funktion, nur die dort vorhandenen.

So übergebe ich einfach get_defined_vars, in der Funktion dann extr und die Keys werden mit array_keys zwischengespeichert. Dann wird das ganze mit den Keys durch compact gejagt und zurückgeliefert und mittels extract wieder überschrieben.

Danke für eure Hilfe,
MaMo
MaMo-Net ist offline   Mit Zitat antworten
Alt 22.10.2005, 12:15  
Gast
 
Beiträge: n/a
Standard

Das ist der falsche Weg! Wenn du das vernünfzig machen willst, dann solltest du einen Link von axo beachten, nämlich

http://us2.php.net/func_get_args

Gruß
phpfan
  Mit Zitat antworten
Alt 22.10.2005, 17:15  
Neuer Benutzer
 
Registriert seit: 15.06.2005
Beiträge: 28
ff-webdesigner
Standard

jau einfach implode variablen nach array und dann umgekehrt mit explode
__________________
www.ff-webdesigner.de
einfach gutes Webdesign
ff-webdesigner ist offline   Mit Zitat antworten
Alt 22.10.2005, 17:28  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Geil. Das wird ja immer bunter. Wie wäre es mit Globals? Oder ein CSV-File, deren Pfad übergeben wird? Vielleicht auch alle Werte einfach Addieren und die Quersumme davon übergeben?

Basti
Basti ist offline   Mit Zitat antworten
Alt 22.10.2005, 19:22  
Erfahrener Benutzer
 
Registriert seit: 05.09.2004
Beiträge: 106
PHP-Kenntnisse:
Fortgeschritten
MaMo-Net
Standard

Das Thema hat sich für mich erledigt. Weder func_get_args kommt inr Frage, noch implode, explode. (Sagmal willst du mich auf den Arm nehmen?)
Die jetzige Lösung ist bestens.
MaMo-Net ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehler bei Übergabe von Variablen aus MySQL in Firefox jensoweber Datenbanken 0 13.07.2008 13:14
Gleichungs Captcha PHP litterauspirna PHP-Fortgeschrittene 17 25.05.2008 21:06
Array in rekursiver Funktion auslesen Gumfuzi PHP Tipps 2007 17 15.11.2005 12:01
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Variablen von einer Seite auf eine andere übertagen? Drago PHP Tipps 2005-2 14 13.09.2005 22:15
Preg_replace, Variablen durch Funktion jagen PHP Tipps 2005-2 4 28.08.2005 15:29
Variablen an andere Seite übergeben?! PHP Tipps 2005-2 3 12.08.2005 03:57
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
[Erledigt] Array-Übergabe in Funktion PHP Tipps 2005 1 08.05.2005 21:05
funktion in klasse ruft funktion in anderer klasse auf phpfortgeschrittener PHP Tipps 2005 6 17.04.2005 17:47
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
Funktion() anwendung -bitte um Hilfe PHP Tipps 2004-2 17 08.12.2004 11:58
[Erledigt] sql syntax error in funktion, kann aber nix finden :( PHP Tipps 2004 10 20.07.2004 19:19
[Erledigt] Referenz auf Funktion übergeben PHP-Fortgeschrittene 7 20.07.2004 09:51
Funktion die in Post Variablen speichert? PHP Tipps 2004 15 05.07.2004 21:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php variable aus funktion übergeben, php variable an funktion übergeben, variable aus funktion übergeben php, php variable aus function übergeben, alle variablen einer function php, php array aus function übergeben bei globals off return, variablen von funktion zu funktion, variable aus funktion anderer funktion , variablen aus anderer funktion, alle werte einer php funktion, php werte mehrere funktionen übergeben, php einer funktion nicht alle werte übergeben, php variable aus funktion auslesen, php alle variablen in funktion, javascript variable aus funktion an andere function übergeben, variable an funktion übergeben php, php variable aus function an html übergeben, mehrere werte an die variable in funktion übergeben, alle variablen function php, php alle variablen an funktion übergeben

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:49 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.