phpbar.de logo

Mailinglisten-Archive

[php] func-callback

[php] func-callback

Cyrill Schumacher php_(at)_phpcenter.de
Mon, 8 Oct 2001 22:10:06 +0200


>die Funktion array_walk durchläuft bekanntlich ein Array und führt bei
>jedem Element ein Callback aus. Da dieses Traversieren nur
>eindimensionale Arrays durchwandert, möchte ich diese beim Einsatz
>geschachtelter Arrays nun selber nachprogrammieren.

>Wie kann ich denn einer Funktion einen generischen Callback mitgeben und
>aufrufen? Geht das überhaupt?

>function traverse ($array, $func) {
>  ...
>($func) ($val);
>  ...
>}

so:
function traverse (&$neues_array,$array, $func) {
    reset($array);
    while(list($k,$v)=each($array)){
        if( is_array($v)==true ){
            traverse ($neues_array[],$v,$func);
        }else{
            $neues_array[] = $func($v);
       }
    }
}

damit baust du dir es wieder zusammen

$neues_array = array();
$array = irgendwas rekursives numereisches ...
function traverse ($neues_array,$array, 'strtoupper');

da wars, "müsste" eigentlich gehen :-)

kiri
________________
8307 305 165 1781




php::bar PHP Wiki   -   Listenarchive