Forum und email

call_user_func

(PHP 4, PHP 5)

call_user_func — Felhasználói függvényt hív meg.

Leírás

mixed call_user_func ( callback $function [, mixed $parameter [, mixed $... ]] )

A function -ban megadott nevű felhasználói függvényt hívja meg. Az ezután álló parameter paraméterek a megadott sorrendben lesznek átadva a meghívott függvénynek. Nézzük a kövekező példát:

<?php
function borbely($tipus)
{
    echo 
"Szóval $tipus akar, semmi gond.";
}
call_user_func('borbely'"gomba frizurát");
call_user_func('borbely'"nyírást");
?>

Ezzel a függvénnyel az obejktum-metódusok is meghívhatók statikusan az úgy hogy a function paraméternek egy array($objektumnev, $metodusnev) tömböt adunk meg.

<?php
class myclass {
    function 
koszonj_szepen()
    {
        echo 
"Hello!\n";
    }
}
call_user_func('borbely'"gomba frizurát");
call_user_func('borbely'"nyírást");

$osztalynev "myclass";

call_user_func(array($osztalynev'koszonj_szepen'));
?>

Note: Figyelj arra, hogy a call_user_func() függvény paraméterei nem referencia szerint kerülnek átadásra.

<?php
function novel(&$var)
{
    
$var++;
}

$a 0;
call_user_func('novel'$a);
echo 
$a// 0

call_user_func_array('novel', array(&$a)); // Inkább használd ezt
echo $a// 1
?>

Lásd még a is_callable(), call_user_func_array(), call_user_method() és call_user_method_array() függvényeket valamint a visszahívható (callback) típusról szóló bejegyzést!