ChrisB: Probleme mit array_walk_recursive

Beitrag lesen

Hi,

foreach ($input AS $key => $value)
        {
            if (is_array($input[$key]))
            {
                array_walk_recursive2($input[$key], $funcname, $userdata);

foreach arbeitet unter PHP 4 immer mit Kopien der Arrayelemente.

Du magst hier also beim Aufruf von array_walk_recursive2 den Parameter $input[$key] zwar durchaus per Referenz uebergeben - nutzt dir aber gar nix, weil der Wert *selber* lediglich eine Kopie darstellt, und somit keine Veraenderung des Originalwertes bewirken kann.

http://www.php.net/manual/en/control-structures.foreach.php:

Note: Unless the array is referenced, foreach operates on a copy of the specified array and not the array itself.

In den Nutzerkommentaren sollten sich Hinweise finden, wie man das auch unter PHP 4 realisiert bekommt.

MfG ChrisB