Referenzen, zurückgeben von einer Funktion

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Referenzen, zurückgeben von einer Funktion

    Der Code:
    PHP Code:
    $superiorTag $this->tagStack->previous();//diese Methode gibt eine Referenz auf ein stack element zurück
    $superiorTag['contents'] .= $this->currentTag['contents']; 
    Soweit so gut. Der inhalt von $previous['contents'] wird wie erwartet verändert. Allerdings nicht der Wert im Stack (was ja der Sinn des ganzen Unterfangens ist). Es sieht also so aus, als ob eine Kopie der Variable zurückgegeben wird und keine Referenz. Ist jemand solch ein Bug in PHP bekannt.

    Edit: Suche in PHP's Bug Database hat zu keinem Ergebnis geführt.
    Last edited by Nezzar; 17-11-2003, 13:01.
    "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

  • #2
    bin noch nicht ganz hinter gekommen was du meinst. aber denke mit $superiorTag möchtest du eine Variable im STack ändern. meiner meinung nach solltest du

    PHP Code:
    $superiorTag =& $this->tagStack->previous(); 
    verwenden. während du auch function &previous() angeben mußt. siehe hierzu auch doku
    ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
    und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

    Comment


    • #3
      So meinte ich's. Das & bei der Methodendeklaration ist natürlich da. Wenn man aber das & vor den Methodenaufruf schreibt gibt's 'nen parsing error.
      Last edited by Nezzar; 17-11-2003, 13:07.
      "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

      Comment


      • #4
        ein parse error??? hmm da muß ich pa[r]|[s]sen...
        ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
        und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

        Comment


        • #5
          Auch für mich gilt: RTFM!
          Hab' also grad mal in der Manual nachgeschlagen; Da wird die Syntax mit & auch im Funktionsaufruf angegeben. Ich kann das jetzt leider nicht nachprüfen, da ich grad im Büro bin. Ich sag' dann morgen mal bescheid falls es jemanden interessiert.

          Edit: Kann es sein das die Syntax mit & nur bei Objektmethoden fehlschlägt?
          Last edited by Nezzar; 17-11-2003, 14:27.
          "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

          Comment


          • #6
            was ist denn jetzt für dich Methodendeklaration und Funktionsaufruf.

            du hast doch geschrieben das du das & bei der Methodendeklaration hattest. wobei ich es funktion nannte?!

            was hast du denn jetzt neues in der doku gelesen?

            jedenfalls erklärt es mir immer noch keinen parse error? denn mit oder ohne & dürfte dem php-parser egal sein
            ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
            und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

            Comment


            • #7
              Ich rede die ganze Zeit nur von einer Methode, niemals von einer Funktion (auch wenn ich vielleicht manchmal Funktion geschrieben hab ). Laut der Doku muss man jedenfalls auch vor dem Funktionsaufruf (und dies mal mein ich auch eine Funktion) auch ein & platzieren. Allerdings bin ich der Meinung, dass ich gestern Aben einen parse error gekriegt hab, als ich es mit einer Methode probiert hab....(jaja, war schon ziemlich spät)
              "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

              Comment


              • #8
                OK, ich muss zugeben, ich war wieder mal im Unrecht. Ich hatte das & vor dem Methodenaufruf vergessen (bzw. nicht gewusst das man da eins setzen muss).
                "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

                Comment

                Working...