Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Problem mit Werteübergabe [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Problem mit Werteübergabe


 
phpMorpheus2
17-05-2009, 22:36 
 
Hallo.
Ich bräuchte einen guten Vorschlag, wie ich mein Problem am besten lösen kann.

Zum Problem:
Ich habe eine Funktion.
Dieser Funktionen wird ein String übergeben der einen Wert enthält.
Anhand dieses Wertes, wertet die Funktion Daten aus und gibt sie zurück.

Es gibt fest vorgegebene Werte, die in einem String der Funktion übergeben werden können.
Jeder Wert benötigt aber zusätzlich einen zweiten Wert, damit die Funktion bei Ihrer auswertung weiß, ob es nun in der Datenbank A oder Datenbank B suchen soll.

Also wird der Funktionen wie folgt Werte übergeben:
function FUNKTION($string, $zweiter_wert)

So würde alles gut funktionieren.
Nun können jedoch mehrere Werte übergeben werden!
D.h., das die Funktion mehrere Strings mit deren zweiten Werten aufnehmen soll und diese dann nach erfolgreichem auswerten in eine Array Merged und ausgibt.

So wird die Funktion nur einmal aufgerufen.
Wie jedoch mach ich das?

Der Funktion eine Array übergeben, in der die jeweiligen Strings mit ihren zweitwerten definiert sind?
Die Funktion könnte die übergebene Array dann auswerten, bearbeiten und die Ergebnisse mergen und als "eins" wieder ausgeben.

Wie jedoch? 2 Dimensionale Array?

 
combie
17-05-2009, 22:54 
 
Bahnhof!

 
asp2php
17-05-2009, 23:26 
 
Erzeuge eine Struktur, die 2 Werte aufnehmen kann. Das Argument der Funktion ist dann ein Array von diese Struktur. Somit kannst du gemischt Daten in Array ablegen und der Funktion für Weiterverarbeitung übergeben. Die Rückgabe kannst du ähnlich gestalten.

 
phpMorpheus2
18-05-2009, 13:11 
 
Erzeuge eine Struktur, die 2 Werte aufnehmen kann. Das Argument der Funktion ist dann ein Array von diese Struktur. Somit kannst du gemischt Daten in Array ablegen und der Funktion für Weiterverarbeitung übergeben. Die Rückgabe kannst du ähnlich gestalten.

Dachte ich mir auch so.
Ich werde es wohl so machen, wenn nicht sogar, dass Problem mit den zweiten Werten versuchen zu beseitigen.

 
phpMorpheus2
20-05-2009, 19:58 
 
Hallo.

Kurze Frage zu meinem vorherigen Thread.

Ich habe z.B. 20 versch. Werte die ich zur Verarbeitung an eine Funktion geben kann. Je nach Wert wird die DB mit diesem Wert abgefragt.

Nun braucht die Query aber einen 2ten Parameter für jeden Wert den es gibt.

Ich möchte nicht bei jeder Werteübergabe den 2ten Wert mitgeben, sondern
in der Funktion, welche die Werte verarbeitet z.B. eine Array haben in der die 2t Parameter jedes Wertes vorhanden sind und in z.B. einer Schleife wird dann der 2te Parameter jedes Wertes rausgesucht und damit gearbeitet.

Wie stelle ich das am besten an?
Das habe ich bislang noch nicht machen müssen und würde dort gerne einen guten Vorschlag einbringen.

Zur besseren Erklärung:
z.B. 3 Verschiedene Werte:
Wert1
Wert2
Wert3

An eine Funktion wird nun per Parameter der jeweilige Wert angegeben.
z.B.: function MeineFunktion($Wert)

Nun arbeitet "MeineFunktion" mit z.B. dem Wert "Wert2", weil dieser übergeben wurde.
Die Funktion "MeineFunktion" soll nun aus einer Array jeweils einen 2ten Wert der für jeden übergebenen Wert vordefinierten ist, auslesen.
z.B.:
Wert - 2ter Wert
----------------
Wert1 - Bla
Wert2 - Blub
Wert3 - Bluff

Wird nun an "MeineFunktion" der Wert "Wert2" übergeben, soll die Funktion aus einer Array den vordefinierten Wert "Blub" raussuchen.

Wie erstelle ich eine solche Überprüfung sinnvoll und ohne viel Performance aufwand für den Server?

Dankeschön

 
asp2php
20-05-2009, 20:20 
 
Bleibe bitte im Thread => zusammengeführt!

Warum kein Array nehmen?

Definiere dein Array so, dass wenn du $arr[$Wert] in der Funktion einsetzt deb Wert "Blub" rauskommt. Warum fragst du denn nach solche Basic? Ich glaube, du sollst mal was nachholen, vor allem Mathematik, damit dein logisches Denken gefördert werden kannst; Programmierer und ohne logisches Denken ist wie Auto ohne Reifen.

 
phpMorpheus2
20-05-2009, 20:34 
 
Bleibe bitte im Thread => zusammengeführt!

Warum kein Array nehmen?

Definiere dein Array so, dass wenn du $arr[$Wert] in der Funktion einsetzt deb Wert "Blub" rauskommt. Warum fragst du denn nach solche Basic? Ich glaube, du sollst mal was nachholen, vor allem Mathematik, damit dein logisches Denken gefördert werden kannst; Programmierer und ohne logisches Denken ist wie Auto ohne Reifen.

Ich glaube, ich drücke mich falsch aus.
Einen Wert übergeben und filtern lassen ist natürlich kein Problem,
das ist auch nicht die Frage.
Es geht sozusagen um eine rekursive suche in einer 3 Dimensionalen Array.

Ich werde einfach einen Teilcode posten welches das Problem genauer definiert.

PS: Sonst würde ich nicht von Performance sprechen ;-)

 
Kropff
20-05-2009, 21:08 
 
Es geht sozusagen um eine rekursive suche in einer 3 Dimensionalen Array.
und warum arbeitest du dann nicht mit einer rekursiven funktion?

peter

 
phpMorpheus2
21-05-2009, 02:02 
 
und warum arbeitest du dann nicht mit einer rekursiven funktion?

peter

Weil ich solch eine rekursive funktion erst erstellen muss, damit ich sie nutzen kann.

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:25 Uhr.