国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

PHP基礎之函數7——動態調用函數

瀏覽:3日期:2022-09-14 17:09:29
call_user_func

(PHP 4, PHP 5)

call_user_func?—?傳入一個參數來調用回調函數

說明mixed?call_user_func?(?callable?$callback?[,?mixed?$parameter?[,?mixed?$...?]] )

Calls the?callback?given by the first parameter and passes the remaining parameters as arguments.

參數callbackThe?callable?to be called.parameterZero or more parameters to be passed to the callback.

Note:

Note that the parameters for?call_user_func()?are not passed by reference.

Example #1?call_user_func()?example and references

<?phperror_reporting(E_ALL);function?increment(&$var){????$var++;}$a?=?0;call_user_func(’increment’,?$a);echo?$a.'n';call_user_func_array(’increment’,?array(&$a));?//?You?can?use?this?instead?before?PHP?5.3echo?$a.'n';?>

以上例程會輸出:

01?返回值

Returns the return value of the callback, or?FALSE?on error.

?范例

Example #2?call_user_func()?example

<?phpfunction?barber($type){????echo?'You?wanted?a?$type?haircut,?no?problemn';}call_user_func(’barber’,?'mushroom');call_user_func(’barber’,?'shave');?>

以上例程會輸出:

You wanted a mushroom haircut, no problemYou wanted a shave haircut, no problem

Example #3?call_user_func()?using namespace name

<?phpnamespace?Foobar;class?Foo?{????static?public?function?test()?{????????print?'Hello?world!n';????}}call_user_func(__NAMESPACE__?.’Foo::test’);?//?As?of?PHP?5.3.0call_user_func(array(__NAMESPACE__?.’Foo’,?’test’));?//?As?of?PHP?5.3.0?>

以上例程會輸出:

Hello world!Hello world!

Example #4 Using a class method with?call_user_func()

<?phpclass?myclass?{????static?function?say_hello()????{????????echo?'Hello!n';????}}$classname?=?'myclass';call_user_func(array($classname,?’say_hello’));call_user_func($classname?.’::say_hello’);?//?As?of?5.2.3$myobject?=?new?myclass();call_user_func(array($myobject,?’say_hello’));?>

以上例程會輸出:

Hello!Hello!Hello!

Example #5 Using lambda function with?call_user_func()

<?phpcall_user_func(function($arg)?{?print?'[$arg]n';?},?’test’);?/*?As?of?PHP?5.3.0?*/?>

以上例程會輸出:

[test]call_user_func_array

(PHP 4 >= 4.0.4, PHP 5)

call_user_func_array?— 傳入一個參數數組來調用回調函數

說明mixed?call_user_func_array?(?callable?$callback?,?array?$param_arr?)

Calls the?callback?given by the first parameter with the parameters in?param_arr.

參數callbackThe?callable?to be called.param_arrThe parameters to be passed to the callback, as an indexed array.返回值

Returns the return value of the callback, or?FALSE?on error.

范例

Example #1?call_user_func_array()?example

<?phpfunction?foobar($arg,?$arg2)?{????echo?__FUNCTION__,?'?got?$arg?and?$arg2n';}class?foo?{????function?bar($arg,?$arg2)?{????????echo?__METHOD__,?'?got?$arg?and?$arg2n';????}}//?Call?the?foobar()?function?with?2?argumentscall_user_func_array('foobar',?array('one',?'two'));//?Call?the?$foo->bar()?method?with?2?arguments$foo?=?new?foo;call_user_func_array(array($foo,?'bar'),?array('three',?'four'));?>

以上例程的輸出類似于:

foobar got one and twofoo::bar got three and four

Example #2?call_user_func_array()?using namespace name

<?phpnamespace?Foobar;class?Foo?{????static?public?function?test($name)?{????????print?'Hello?{$name}!n';????}}//?As?of?PHP?5.3.0call_user_func_array(__NAMESPACE__?.’Foo::test’,?array(’Hannes’));//?As?of?PHP?5.3.0call_user_func_array(array(__NAMESPACE__?.’Foo’,?’test’),?array(’Philip’));?>

以上例程的輸出類似于:

Hello Hannes!Hello Philip!

Example #3 Using lambda function

<?php$func?=?function($arg1,?$arg2)?{????return?$arg1?*?$arg2;};var_dump(call_user_func_array($func,?array(2,?4)));?/*?As?of?PHP?5.3.0?*/?>

以上例程會輸出:

int(8)

標簽: PHP
相關文章:
主站蜘蛛池模板: 精品欧美一区二区在线看片 | 国产一区二区播放 | 成人精品一区二区www | 俄罗斯一级毛片免费播放 | 黄色美女视频网站 | 亚洲国产天堂久久综合网站 | 飘花国产午夜精品不卡 | 久久精品爱| 欧美aav | 在线视频 一区二区 | 色综合a怡红院怡红院首页 色综合精品久久久久久久 色综合九九 | 不卡的毛片 | 黄色毛片视频在线观看 | aaa免费毛片 | 欧美特级毛片aaaa | 国产三级理论 | 欧美另类视频在线观看 | 日本精品一在线观看视频 | 欧美特黄三级成人 | 在线成人亚洲 | 亚洲素人在线 | 欧美日韩一区二区不卡三区 | 一个人看的www片免费视频中文 | 特级aa一级欧美毛片 | 91免费视| 亚洲欧美久久一区二区 | 毛片大全免费 | 国产伦码精品一区二区三区 | 亚洲一区二区三区免费看 | 亚洲日本在线观看网址 | 日本黄色大片在线播放视频免费观看 | 香蕉亚洲精品一区二区 | 成年人免费在线观看网站 | 亚洲欧美在线观看播放 | 成人免费大片黄在线观看com | 久草在| 国产精选在线播放 | 久久精品国产99久久99久久久 | 欧美三级成版人版在线观看 | 成人精品视频 | 亚洲国产精品成人精品软件 |