vtauschen / rtauschen

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

  • vtauschen / rtauschen

    Als Neuling versuche ich mich durch das Buch PHP5.3 von Theis zu kämpfen. Komme an sich gut vorran.
    Das Beispiel: call-by-value oder reference macht es Probleme.
    Meine Eingabe wir im Browser so dargestellt.

    Parse error: syntax error, unexpected T_STRING, expecting '(' in C:\xampp\htdocs\referenz.php on line 4

    Meine Eingabe: Sie ist identisch mit dem Muster auf der CD.
    Der Versuch das CD-Beispiel laufen zu lassen gibt folgende Browserangabe an:

    Deprecated: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of vtauschen(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\xampp\htdocs\referenztest.php on line 33

    Deprecated: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of vtauschen(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\xampp\htdocs\referenztest.php on line 33

    Methode 1, vorher: 12, 18
    Methode 1, nachher: 12, 18
    Methode 2, vorher: 12, 18
    Methode 2, nachher: 18, 12
    Methode 3, vorher: 12, 18
    Methode 3, nachher: 18, 12

    Wenn die Funktionbezeichnungen alt sind, welche sind die neuen Eingaben? Ich habe keine abweichenden Schreibweisen zwischen meinem und dem CD-Text feststellen können. referenz.php ist meine, referenztest.php ist von der Muster-CD.
    Danke für eine Hilfe im Voraus.

  • #2
    da du uns den Code nicht zeigst und ich ehrlichgesagt das Buch von Theis nicht kenne ...

    geh ich mal von Schlecht kopiertem PHP4 Code aus
    PHP-Code:
    &$objekt=new objekterzeugen(); 
    schau mal, ob du so etwas in dieser Art an den angemeckerten Stellen findest - dann kannst du gefahrlos das & vorn löschen und es funktioniert mit PHP 5

    mit anderen Worten .. bitte zeig uns den Code aus den angemeckerten Code-Zeilen (und ein paar Zeilen drum herum)
    Zuletzt geändert von eagle275; 16.08.2011, 12:23.
    [font=Verdana]
    Wer LESEN kann, ist klar im Vorteil!
    [/font]

    Kommentar


    • #3
      Kenne auch den Code nicht!

      Aber: "Call-time pass-by-reference has been deprecated;"

      irgend wo steht bei dir irgendeinFunktionsAufruf(&$variable), das darf nicht mehr.
      Das wird heutzutage bei der Funktionsdeklaration mit angegeben und automatisch richtig von PHP verwaltet.

      Beispiel:
      PHP-Code:
      function irgendwas(&$variable// ok, wenn Referenz erwünscht ist

       
      // tuwas
      }

      // die Aufrufe
      $bla 45;

      irgendwas($bla); // richtig so
      irgendwas(&$bla); // falsch, wirft die Meldung 
      Wir werden alle sterben

      Kommentar


      • #4
        Hallo, danke für die schnelle Reaktion.
        Ich hatte die Codes hochgeldaen. Ich dachte die würden dann jedem zur Einsicht zur Verfügung stehen.
        Jetzt kommt der Code, welche als veraltet bemängelt wird.

        <html>
        <head>
        <?php
        function vtauschen($a, $b)
        {
        $temp = $a;
        $a = $b;
        $b = $temp;
        }
        function rtauschen(&$a, &$b)
        {
        $temp = $a;
        $a = $b;
        $b = $temp;
        }
        ?>
        </head>
        <body>
        <?php
        $x = 12; $y = 18;
        echo "<p>Methode 1, vorher: $x, $y<br />";

        vtauschen($x,$y);
        echo "Methode 1, nachher: $x, $y</p>";
        $x = 12; $y = 18;
        echo "<p>Methode 2, vorher: $x, $y<br />";
        rtauschen($x,$y);
        echo "Methode 2, nachher: $x, $y</p>";
        $x = 12; $y = 18;
        echo "<p>Methode 3, vorher: $x, $y<br />";
        vtauschen(&$x,&$y);
        echo "Methode 3, nachher: $x, $y</p>";
        ?>
        </body>
        </html>

        Kommentar


        • #5
          Also genau das was ich dir gesagt habe!

          Das Buch ist offensichtlich veraltet.
          In die Tonne damit.
          Wir werden alle sterben

          Kommentar


          • #6
            vtauschen / rtauschen

            Danke für den Rat. Es war die Lösung.

            Das Buch in die Tonne treten kann ich och nicht. Ich bin erst auf Seite 87 von 600. Auch ist das Buch von 2011 und heist Einstieg in PHP 5.3 und MySQL 5.5.
            Ich werden den Rat jedoch nochmals überdenken wenn ich auf Seite 600 angekommen bin.
            Bis dann!

            Kommentar


            • #7
              ich würde das Buch mit großer Vorsicht genießen.. Es scheint zumindest, dass SourceCodeTeile in PHP4 stecken geblieben sind ...

              Besorge dir besser aktuelle Tutorials ausm Web, die ordentlich auf PHP5 getrimmt sind
              [font=Verdana]
              Wer LESEN kann, ist klar im Vorteil!
              [/font]

              Kommentar


              • #8
                Zitat von eagle275 Beitrag anzeigen
                ich würde das Buch mit großer Vorsicht genießen.. Es scheint zumindest, dass SourceCodeTeile in PHP4 stecken geblieben sind ...

                Besorge dir besser aktuelle Tutorials ausm Web, die ordentlich auf PHP5 getrimmt sind
                Danke für den Hinweis. Es ist jedoch für eine Einsteiger schwierig zu wissen, welcher Tutorial ist der Beste für eine Einsteigen. Als Computerbuchschreiber haben große Schwierigkeiten deutsch zu schreiben und Erläuterungen so zu formilieren, dass eine Neuling diese versteht. Wenn ich dann lese,: "Eine Funktion wird verwendet, wenn eine Funktion ausgeführt erden soll". Man kann nicht ine Wort mit den gelichen Wort erklären.
                Wenn Du da eine Rat oder Link senden könntest, wär ich sehr dankbar.

                bis

                Kommentar


                • #9
                  hm .. generell solltest du das nicht vom Deutsch abhängig machen ...

                  wenn du dir noch ein Buch zulegen willst - ich kann die PHP5 / OOP mit PHP 5 Bücher von Matthias Kanngießer bei Franzis empfehlen ...

                  ansonsten ...bietet quakenet eine ganze Reihe Tutorials - und auch hier im Forum sind im Grundlagen-Thread einige gute verlinkt
                  [font=Verdana]
                  Wer LESEN kann, ist klar im Vorteil!
                  [/font]

                  Kommentar

                  Lädt...
                  X