首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在PHP中将数组作为参数传递,而不是数组

在PHP中将数组作为参数传递,而不是数组
EN

Stack Overflow用户
提问于 2009-04-13 14:55:15
回答 3查看 113.3K关注 0票数 164

我似乎记得在PHP中,有一种方法可以将数组作为函数的参数列表传递,将数组取消引用为标准的func($arg1, $arg2)方式。但现在我不知道该怎么做了。我回想起通过引用传递的方式,如何“全局”传入参数……而不是如何将数组移除到参数列表中。

它可能和func(&$myArgs)一样简单,但我非常确定那不是它。但是,遗憾的是,php.net手册到目前为止还没有透露任何东西。并不是说我在过去一年左右的时间里不得不使用这个特殊的功能。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-04-13 15:02:05

http://www.php.net/manual/en/function.call-user-func-array.php

代码语言:javascript
复制
call_user_func_array('func',$myArgs);
票数 186
EN

Stack Overflow用户

发布于 2009-04-13 19:42:10

另请注意,如果要将实例方法应用于数组,则需要将函数传递为:

代码语言:javascript
复制
call_user_func_array(array($instance, "MethodName"), $myArgs);
票数 83
EN

Stack Overflow用户

发布于 2014-02-18 22:28:53

为了完整起见,从PHP 5.1开始,这也可以工作:

代码语言:javascript
复制
<?php
function title($title, $name) {
    return sprintf("%s. %s\r\n", $title, $name);
}
$function = new ReflectionFunction('title');
$myArray = array('Dr', 'Phil');
echo $function->invokeArgs($myArray);  // prints "Dr. Phil"
?>

请参阅:http://php.net/reflectionfunction.invokeargs

对于方法,您使用ReflectionMethod::invokeArgs,并将对象作为第一个参数传递。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/744145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档