Использовать переменную как имя функции в PHP
Возможный дубликат:
Используйте переменную для определения функции PHP
Можно ли использовать переменную как имя функции.
Например, у меня есть переменная
$varibaleA;
и я хочу создать функцию i.e.
function $variableA() {
}
поэтому эту функцию можно вызвать позже в script. Кто-нибудь знает, можно ли это сделать?
Спасибо
Ответы
Ответ 1
Объявление функции с переменной, но произвольное имя, подобное этому, невозможно, если ваши руки не загрязнены с помощью eval()
или include()
.
Я думаю, что, основываясь на том, что вы пытаетесь сделать, вы захотите вместо анонимной функции в этой переменной (используйте create_function()
, если вы не на PHP 5.3 +):
$variableA = function() {
// Do stuff
};
Вы все равно можете называть его так же, как любая функция например:
$variableA();
Ответ 2
$x = 'file_get_contents';
$html = $x('http://google.com');
является функционально эквивалентным выполнению
$html = file_get_contents('http://google.com');
Они называются переменными функциями и обычно их следует избегать, поскольку они слишком далеки от переменных переменных.
Ответ 3
вы можете сделать это:
$foo = function() {
//..
};
а затем:
$foo();
работает в PHP 5.3 +