Mailinglisten-Archive |
>> Sorry: ja ich komme aus der C-Welt und Pointer sind mir derart >> ins Blut =FCbergegangen, dass ich wie der Ochs vor'm Berg stehe. >oops, >gibt es keine Array's in 'C' ... <wunder> Doch, vielleicht nochmal pr=E4ziser: function traverse ($arr, $func) soll zwar den Baum (rekursiv) durchwandern, wei=DF aber selber nix =FCbe= r die Funktionsweise der Routine in $func, die es bei jedem Element aufrufen soll. Es ist also eine generische Funktion, die einen Funktionszeiger al= s zweiten Parameter erh=E4lt, so wie array=5Fwalk in php. Im C-Code sieht = das ca. so aus: int sum (int a, int b) { return a+b; } void mul (int a, int b) { return a*b; } void traverse (int *arr, (func)(int a, int b)) { for (...) { ... (func) (c, d); ... } } Dann kann man traverse (my=5Farray, sum); oder traverse (my=5Farray, mul); aufrufen, an traverse muss man nix =E4ndern! >Haste mal'n Bleistift... >Hamm wa: Danke, aber das war's nicht wirklich... >Das Script muss aber VOR dem TimeOut fertig werden, gell... ;-) Besser w=E4r das... -- Oliver Michalak www.werk01.de / omich_(at)_werk01.de / 0(049)177 - 75 75 393
php::bar PHP Wiki - Listenarchive