Php функция вызова функции

call_user_func

Вызывает пользовательскую функцию, переданную в параметре callback .

Список параметров

Ноль или более параметров, передаваемые в функцию.

Замечание:

Учтите, что параметры для call_user_func() не передаются по ссылке.

Пример #1 Пример использования call_user_func() с ссылками

$a = 0 ;
call_user_func ( ‘increment’ , $a );
echo $a . «\n» ;

// Вместо этого можно использовать этот способ
call_user_func_array ( ‘increment’ , array(& $a ));
echo $a . «\n» ;
?>

Результат выполнения данного примера:

Возвращаемые значения

Возвращает результат функции, или FALSE в случае ошибки.

Список изменений

Версия Описание
5.3.0 Изменилась интерпретация объектно-ориентированных ключевых слов, таких как parent и self. Ранее, при их вызове с помощью синтаксиса двойного двоеточия вызывалась ошибка уровня E_STRICT , т.к. они интерпретировались как статические вызовы.

Примеры

Пример #2 Пример использования call_user_func()

function barber ( $type )
echo «Вы хотели стрижку $type , без проблем\n» ;
>
call_user_func ( ‘barber’ , «под горшок» );
call_user_func ( ‘barber’ , «наголо» );
?>

Результат выполнения данного примера:

Вы хотели стрижку под горшок, без проблем Вы хотели стрижку наголо, без проблем

Пример #3 Использование call_user_func() и пространства имен

class Foo static public function test () print «Привет, мир!\n» ;
>
>

call_user_func ( __NAMESPACE__ . ‘\Foo::test’ ); // Начиная с версии PHP 5.3.0
call_user_func (array( __NAMESPACE__ . ‘\Foo’ , ‘test’ )); // Начиная с версии PHP 5.3.0

Результат выполнения данного примера:

Пример #4 Вызов метода класса из call_user_func()

class myclass static function say_hello ()
echo «Привет!\n» ;
>
>

call_user_func (array( $classname , ‘say_hello’ ));
call_user_func ( $classname . ‘::say_hello’ ); // Начиная с версии 5.2.3

call_user_func (array( $myobject , ‘say_hello’ ));

Результат выполнения данного примера:

Пример #5 Использование лямбда-функции и call_user_func()

Читайте также:  Python comment multi lines

Результат выполнения данного примера:

Источник

PHP: Определение и вызов функции

Функция — это именованный блок кода, в данном случае на языке PHP, который определяется один раз, а затем может вызываться на исполнение сколько угодно раз.

Определение функции выполняется с помощью ключевого слова function за которым указываются следующие компоненты:

  • Идентификатор , определяющий имя функции. Он будет использован для создания новой переменной, которой будет присвоена функция. Имена функций следуют тем же правилам, что и именование переменных. Примечание: имена функций не чувствительны к регистру букв.
  • Пара круглых скобок вокруг списка из нуля или более идентификаторов, разделенных запятыми. Эти идентификаторы будут определять имена параметров функции. В теле функции они используются в качестве локальных переменных.
  • Пара фигурных скобок с нулем или более инструкций. Эти инструкции составляют тело функции: они выполняются при каждом вызове функции.

Синтаксис определения функции выглядит следующим образом:

function имя_функции([параметры])

Квадратные скобки ( [] ) означают необязательность. Теперь приведем простой пример определения функции:

Для вызова функции используется оператор вызова, представляющий из себя пару круглых скобок. Завершается вызов функции как и все инструкции точкой с запятой ( ; ):

При вызове функции исполняются инструкции, расположенные в ее теле.

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

 > /* Теперь мы можем вызывать функцию foo(), поскольку $makefoo была интерпретирована как true */ foo(); function bar() < echo "Я существую сразу с начала старта программы.\n"; >?>

Все функции в PHP имеют глобальную область видимости — они могут быть вызваны вне функции, даже если были определены внутри и наоборот:

 > /* пока нельзя вызвать func2(), поскольку она еще не определена. */ func1(); /* Теперь можно вызвать функцию func2(), вызов func1() сделал ее доступной. */ func2(); ?>

Чаще всего функции работают с каким-либо переданными ей значениями. Для того, чтобы функции можно было передать некоторые значения, в ней должны быть указаны параметры. Эти параметры по сути являются обычными переменными, которые инициализируются переданными значениями при вызове функции.

Читайте также:  Input внутри label стилизация css

Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011 – 2023 © puzzleweb.ru

Источник

Оцените статью