プログラミングで飯を食え。腕をあげたきゃ備忘録!

PHP、JavaScript、HTML5、CSS3などWEB系言語を中心に基本テク、備忘録をまとめます。Android、Iphoneアプリ開発についても!

PHPのarray_map()でクラスのメソッドをコールバックに指定する方法!

サクウェブTVはコチラ↓↓↓
サクウェブTV

array_map()は通常、

array_map("function名",$array);

として、コールバックのfunction名を文字列で指定します。

しかし、これだとインスタンス化したクラスやクラスメソッドをコールバックに指定できません。

 

これには方法があります。

 

コールバックは配列で指定するのです。

例えばこんな感じ。

class Sample{
    public function calc(){
        //処理
    }
}

$array = array(1,2,3,4,5);

array_map(array("Sample","calc"),$array);

または、インスタンス化する場合は、

class Sample{
    public function calc(){
        //処理
    }
}

$sample = new Sample();
$array = array(1,2,3,4,5);

array_map(array($sample,"calc"),$array);

PHP4の場合は、こうするそうです。

class Sample{
    public function calc(){
        //処理
    }
}

$sample = new Sample();
$array = array(1,2,3,4,5);

array_map(array(&$sample,"calc"),$array);

参考はこちら