1 Funktion, 2 verschiedene Params

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

  • 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 |


    Comment


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

      Comment


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


        Comment


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

          Comment


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

            Comment


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


              Comment


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

                Comment


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

                  Comment


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


                    Comment

                    Working...
                    X