Problem mit Werteübergabe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit Werteübergabe

    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:
    PHP-Code:
    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?

  • #2
    Bahnhof!
    Wir werden alle sterben

    Kommentar


    • #3
      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.

      Kommentar


      • #4
        Zitat von asp2php Beitrag anzeigen
        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.

        Kommentar


        • #5
          2t Parameter

          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

          Kommentar


          • #6
            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.

            Kommentar


            • #7
              Zitat von asp2php Beitrag anzeigen
              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 ;-)

              Kommentar


              • #8
                Zitat von phpMorpheus2 Beitrag anzeigen
                Es geht sozusagen um eine rekursive suche in einer 3 Dimensionalen Array.
                und warum arbeitest du dann nicht mit einer rekursiven funktion?

                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  Zitat von Kropff Beitrag anzeigen
                  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.

                  Kommentar

                  Lädt...
                  X