ugrás a tartalomhoz

Függvénynek függvény paraméterként?

Anonymous · 2006. Ápr. 26. (Sze), 18.39
Sziasztok!

Megoldható, hogy egy függvénynek egy másikat (vagy legalább a nevét) átadjuk paraméterként?
feldolgoz($adatok,FUGGVENY)
Tehát attól függően milyen fv-t adtunk át, attól fuggoen mindig más tortenik az adatokkal.

pl:

function feldolgoz($result,FUGGVENY){
while ($row = mysql_fetch_array($result)) {
      FUGGVENY ($row); 
}
}
tehát a visszadott rekordok mindegyikére el szeretnék valamit végezni, de nem ugy hogy kipakolom az egészet egy hatalmas tombbe es azt foreach-el vegigdaralom. Ebben az lenne nekem a josag, hogy egyetlen fuggvenyen at bonyolodna az osszes adatbazislekerdezes redundancia mentesen. es mindjart feldolgozast is kaphatnak az adatok.

Kivancsi vagyok mit szolotok! :)

Köszi szépen!
 
1

Referencia

janoszen · 2006. Ápr. 26. (Sze), 19.36
Függvény referenciát tudsz átadni és végre is tudod hajtani asszem. Vagy stringben adod át. Akkor meg call_user_func fv.
2

eval ?

toxin · 2006. Ápr. 26. (Sze), 19.42
jaja http://hu.php.net/manual/en/function.call-user-func.php

de ez is jó
<?php
function fooTwo($params)
{
	foreach ($params as $v) echo $v*2;
}
function fooThree($params)
{
	foreach ($params as $v) echo $v*3;
}

function feldolgoz($paramArray,$paramFunc)
{
	
	eval($paramFunc.'($paramArray);');
}

$fooArray = array(2,3,4);
feldolgoz($fooArray,'fooTwo');
?>
:) ill. müxik
4

evallal óvatosan

Hodicska Gergely · 2006. Ápr. 26. (Sze), 23.34
Eval ajánlása esetén azért mindig tegyük hozzá, hogy lehetőleg ne használjuk feleslegesen (mint jelen esetben is), és ha mégsincs más megoldás, akkor ellenőrzött körülmények között használjuk, különben komoly biztonsági rést nyithatunk.


Felhő
3

Ilyen nincs, legalábbis PHP-ben

Hodicska Gergely · 2006. Ápr. 26. (Sze), 23.31
Függvény referenciát tudsz átadni és végre is tudod hajtani asszem

Ilyet biztosan nem, mert ilyesmi nem létezik PHP-ban. Viszont a variable variable mintájára függvényt is tudsz hívni.
<?php
    function foo()
    {
        echo 'foo';
    }

    $bar = 'foo';
    $bar();
?>
És ugyanígy objektumot is tudsz osztályt is példányosítani.


Felhő
5

változó

bbalint · 2006. Ápr. 27. (Cs), 09.48
csak tegyél egy $-jelet a FUGGVENY elé és már működik is a dolog, láss csodát.
6

köszi

Anonymous · 2006. Ápr. 27. (Cs), 10.14
az ötleteket. mindjárt kibróbálom öket!