Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php call_user_func的简介

php call_user_func的简介

WBOY
WBOYasal
2016-06-23 14:30:421018semak imbas

mixed call_user_func ( callback $function [, mixed $parameter [, mixed $... ]] )

一个 PHP 函数用函数名字符串来传递。可以传递任何内置的或者用户自定义的函数,除了语言结构如array(),echo(),empty(),eval(),exit(),isset(),list(),print() 和 unset()。

一个对象的方法以数组的形式来传递,数组的下标 0 指明对象名,下标 1 指明方法名。

对于没有实例化为对象的静态类,要传递其方法,将数组 0 下标指明的对象名换成该类的名称即可。

除了普通的用户定义的函数外,也可以使用create_function()来创建一个匿名的回调函数(callback)。

 

<?php // 普通的回调函数function my_callback_function() {    echo 'hello world!';}// 回调方法class MyClass {    static function myCallbackMethod() {        echo 'Hello World!';    }}// Type 1: 简单的回调call_user_func('my_callback_function'); // Type 2: 静态类回调call_user_func(array('MyClass', 'myCallbackMethod')); // Type 3: 类方法回调$obj = new MyClass();call_user_func(array($obj, 'myCallbackMethod'));// Type 4: 调用类方法 (As of PHP 5.2.3)call_user_func('MyClass::myCallbackMethod');// Type 5: 相对静态类方法的调用(As of PHP 5.3.0)class A {    public static function who() {        echo "A\n";    }}class B extends A {    public static function who() {        echo "B\n";    }}call_user_func(array('B', 'parent::who')); // A?>

  

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP基础笔记Artikel seterusnya:[转] php 去除html