Можно ли передать функцию в качестве аргумента в PHP?

Я хочу передать функцию в качестве аргумента, используя PHP, аналогично тому, как jQuery позволяет передавать функции.

jQuery:

$("#foo").bind("click", function(){

    alert("Hello world!");
});

Итак, я попробовал это с помощью PHP:

$arg1 = "Hello";
$arg2 = function($name){echo $name;};

function call_me($func_arg1="", $func_arg2=""){

    echo $func_arg1." ".$func_arg2("world!");
}

call_me($arg1, $arg2);

... но я возвращаю "world!Hello" .... почему он возвращает результат в обратном порядке?


person Community    schedule 31.07.2013    source источник


Ответы (2)


хорошо, я нашел ответ. Это потому, что я пытался повторить эхо! Я изменил его так, чтобы:

$arg2 = function($name){return $name;};

Этот вывод «Привет, мир!» как и ожидалось.

person Community    schedule 31.07.2013

Изменить эту строку

$arg2 = function($name){return $name;};
person Saranya Sadhasivam    schedule 31.07.2013
comment
Код без объяснения, как правило, не очень полезен в некоторых случаях. Пожалуйста, рассмотрите возможность его добавления. - person Ja͢ck; 31.07.2013