|
PHP поддерживает концепцию функций переменных. Это значит, что, если имя переменной содержит скобки, присоединённые к нему, PHP ищет функцию с тем же именем, в которое вычисляется переменная, и пытается выполнить её. Помимо прочего, это можно использовать для реализации callbacks/обратных вызовов, таблиц функций и так далее.
Функции переменных не работают с такими конструкциями языка, как
echo()
,
unset()
,
isset()
,
empty()
и
include()
. Хотя конструкция
print()
является исключением и будет работать.
Это одно из самых важных отличий функций и конструкций языка в PHP.
Пример 12-1. Функция переменной
<?php
function foo()
{
echo "In foo()<br>\n";
}
function bar($arg = '')
{
echo "In bar(); argument was '$arg'.<br>\n";
}
$func = 'foo';
$func();
$func = 'bar';
$func('test');
?>
|
|
См. также Переменные переменные
и
function_exists()
.
|
|