return by reference / by value

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

  • return by reference / by value

    Hi,

    weiss zwar dass dieses Thema schon oft behandelt wurde, jedoch hab' ich nichts passendes gefunden...

    möchte gern innerhalb einer Klassenfunktion per Parameter entscheiden ob eine Variable per Reference oder per Value zurückgegeben wird etwa in der Art:
    PHP-Code:
        function set($key, &$value$type ByVal) {
            if (
    $type == ByRef) {
                
    $this->internal_data[$key] = &$value;
            } else {
                
    $this->internal_data[$key] = $value;
            }
        }
        function   
    get($key$type ByVal) {
            if (
    array_key_exists($key,$this->internal_data)) {
                if (
    $type == ByVal) { 
                    return 
    $this->internal_data[$key];
                } else { 
                                    return & 
    $this->internal_data[$key];
                }
            } else {
                
    $this->debug_error("key '$key' not found in get");
                return 
    false;
            }
        } 
    function set klappt auch, get natürlich nicht wenn ich den üblichen Weg für die Per Reference Rückgabe gehen würde, etwa :
    PHP-Code:
    function & get ($name) { ... return $var; } 
    würde es natürlich klappen, aber dann halt eben nur per Ref nicht per Val...

    Anregungen`?
    chansel0049
    ----------------------------------------------------
    if you've reached the bottomline - dig further!
    Übersetzer gesucht? http://www.babelport.com

  • #2
    Geht nicht, dazu brauchst du zwei Funktionen
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar

    Lädt...
    X