是否可以使用类似函数的运算符?

时间:2012-05-14 22:26:17

标签: php

  

可能重复:
  Can I use operators as function callback in PHP?

是否可以像PHP中的函数一样使用运算符?

例如,我写了一个看起来像这样的小函数:

function aggregate($values,$function,$initial=null) {
    $agg = $initial === null ? array_shift($values) : $initial;
    while($values) {
        $agg = call_user_func($function,$agg,array_shift($values));
    }
    return $agg;
}

我想知道是否可以用类似

的方式来调用它
 agggregate(array(1,2,3),'+');

哪会产生1+2+3=6

如果没有,我想我可以这样称呼它:

 agggregate(array(1,2,3),function($a,$b){return $a+$b;});

但它并不紧凑。


我刚注意到这与array_reduce相同;没有必要指出这一点;)

1 个答案:

答案 0 :(得分:2)

使用匿名函数是PHP的方法。不幸的是它没有像python的operator模块那样的东西。