1 Funktion, 2 verschiedene Params

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

  • 1 Funktion, 2 verschiedene Params

    Moin, der Programmierer soll die Möglichkeit haben die Memberfunktion meiner Klasse, sowohl mit als auch ohne Referenz zu benutzen.

    Entsprechend muss ich 2 Funktionen implementieren, oder?

    PHP-Code:
    function foo($bar){
      
    #bla
    }

    # und
    function foo(&$bar){
      
    #bla

    Der Aufruf:

    PHP-Code:
    foo(1);

    $a 1;
    foo($a); 
    Wie geht das?

  • #2
    PHP-Code:
    function foo($bar){
      
    #bla
    }

    # und
    function foo_ref(&$bar){
      
    #bla

    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Jupp, genau das wollte ich vermeiden.
      Ihm soll's egal sein. Wenn er sich 2 Funktionen für
      die gleiche Aktion merken soll... wäre blöd. Deswegen auch
      explizit der selbe Bezeichner.

      Kommentar


      • #4
        Deswegen auch
        explizit der selbe Bezeichner.
        dann hast du auch sicher gemerkt, dass php dir einen fehler liefert.

        alternativ kannst du ja einen zweiten parameter mit angeben, der sagt, ob ref oder nicht.

        obs klappt ... k.a. ....

        PHP-Code:
        function foo(&$bar$ref=false){
          
        $bar $ref ? &$bar $bar;
          
        #bla

        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          PHP-Code:
          function foo($arg$by){
             if(
          $by == 'ref')
                global 
          $arg;
             elseif(
          $by == 'val')
                return 
          $arg:

          ist jetzt gar nicht getestet, sondern eher n brainfuc... will sagen: brainstorming.

          Kommentar


          • #6
            Abraxax, wenn ich mich nicht irre, ist es so, dass wenn du schon in der deklaration &$bar angibst, nicht mehr auf byval umsteigen kannst, zumindest in deinem konstrukt. deswegen ist's bei mir default'erweise byval und erst durch global wird's byref.

            in meiner vorstellung

            Kommentar


            • #7
              naja. ist ja auch egal. getestet habe ich es auch nicht. und wer so'ne schweinerei benötigt, soll es auch selber testen.

              und wenn beides nicht geht muss es halt auf php99.7.1 warten.
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                der Programmierer soll die Möglichkeit haben
                ich finde, Dem Programmierer™, der auf solchem schnick-schnack besteht, sollte der titel entzogen werden

                Kommentar


                • #9
                  ja, muss ich wohl auf version 271.99.3 warten.

                  Kommentar


                  • #10
                    Original geschrieben von penizillin
                    ich finde, Dem Programmierer™, der auf solchem schnick-schnack besteht, sollte der titel entzogen werden
                    sehe ich auch so ....
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar

                    Lädt...
                    X