4

重複の可能性:
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これが;と同じであることに気付きました。これを指摘する必要はありません;)

4

1 に答える 1

2

匿名関数を使用することは、PHP での方法です。operator残念ながら、python のモジュールのようなものはありません。

于 2012-05-14T22:27:36.207 に答える