PHP передают имя функции как параметрический усилитель, затем вызывают функцию?

Я должен передать функцию в качестве параметра другой функции и затем вызвать переданную функцию из функции... Это, вероятно, легче для меня объяснить в коде.. Я в основном хочу сделать что-то вроде этого:

function ($functionToBeCalled)
{
   call($functionToBeCalled,additional_params);
}

Есть ли способ сделать это.. Я использую PHP 4.3.9

Спасибо!

44
задан KyleKluge 1 July 2019 в 20:54
поделиться

4 ответа

Я думаю, что Вы ищете call_user_func .

пример из Руководства PHP:

<?php
function barber($type) {
    echo "You wanted a $type haircut, no problem";
}
call_user_func('barber', "mushroom");
call_user_func('barber', "shave");
?>
78
ответ дан Paolo Bergantino 26 November 2019 в 21:38
поделиться
function foo($function) {
  $function(" World");
}
function bar($params) {
  echo "Hello".$params;
}

$variable = 'bar';
foo($variable);

Кроме того, можно сделать это этот путь. См. переменные функции .

26
ответ дан tj111 26 November 2019 в 21:38
поделиться

В php это очень просто.

<?php

function here() {
  print 'here';
}


function dynamo($name) {
 $name();
}

//Will work
dynamo('here');
//Will fail
dynamo('not_here');
27
ответ дан Stewart Robinson 26 November 2019 в 21:38
поделиться

Вы также можете использовать call_user_func_array () . Он позволяет вам передавать массив параметров в качестве второго параметра, поэтому вам не нужно точно знать, сколько переменных вы передаете.

11
ответ дан 26 November 2019 в 21:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: