phpbar.de logo

Mailinglisten-Archive

[php] Value in einem Array aendern

[php] Value in einem Array aendern

Cyrill Schumacher php_(at)_phpcenter.de
Fri, 25 May 2001 09:49:35 +0200


> Nur geaendert bekomme ich sie nicht, weil die aktuelle
> while-Schleife nicht weiss, was vor ihr gelaufen ist.

du musst in der rekursiven funktion den jeweiligen key mitübergeben,
bzw. anhängen, wenn du die funktion in der schleife wieder aufrufst.
also:
    $delim = "#_(at)_#";
function replace_value($array,$oldvalue,$value,$keys=""){
    reset....
    while(list($k,$v)=....){
        if($v != $oldvalue){
            replace_value($v,$oldvalue,$value,$keys.$delim.$k);
        }else{
            $keys_e = explode($delim,$keys);
            // schleife bauen z.b. auch mit eval()
            $array[$keys_e[0]][$keys_e[1]][$keys_e[2]][$keys_e[3]] = $value;
            return $array;
        }
    }
}

Nicht gesagt dass es funzt.

kiri




php::bar PHP Wiki   -   Listenarchive