【问题标题】:PHP equivalent of Python's func(*[args])PHP 相当于 Python 的 func(*[args])
【发布时间】:2010-11-23 23:05:18
【问题描述】:

在 Python 中我可以这样做:

def f(a, b, c):
    print a, b, c

f(*[1, 2, 3])

这个在 PHP 里怎么说?

【问题讨论】:

    标签: php python args


    【解决方案1】:

    使用call_user_func_array:

    call_user_func_array('f', array(1, 2, 3));
    

    如果你想调用一个类方法,你会使用array($instance, 'f')而不是'f',如果它是一个静态类函数你会使用array('ClassName', 'f')或'ClassName::f'。有关详细信息,请参阅callback type docs。

    【讨论】:

    • 这个很难看,但是在问题中,他知道所有的参数,所以你也可以$f = 'fname'; $f(1,2,3);,如果是对象方法,你可以$o->{$f}(1,2,3);
    • 我的眼睛,护目镜,它们什么都不做!提醒我为什么我现在可以在 Python 中编码......
    • 他想从数组中传递参数(这正是 python 中的 *array arg 所做的)。
    猜你喜欢
    • 2013-05-11
    • 2018-06-24
    • 2011-10-10
    • 2010-10-28
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 2011-01-25
    • 2013-06-27
    相关资源
    最近更新 更多