2014年2月19日水曜日

PHPのarray_map関数で、コールバック関数にClassやNamespaceを使う?

PHParray_map関数で、コールバック関数にClassNamespaceを使う? というわけで、試してみたのですが、クラス(Class)は利用できるようです。配列形式で指定して、array("クラス名","メソッド名")でOK。名前空間のNamespaceの方は、うまく利用できませんでした。深追いするとハマりそうなので、諦めました。

×(間違い)
array_map($this->MyFunction, $array);
○(正しい)
array_map(array($this, 'MyFunction'), $array);
array_map(array('MyClass', 'MyFunction'), $array);


参考サイト
PHPでコールバック関数にオブジェクトのメソッドを指定する((DxD)∞さん)
php - array_map not working in classes(Stack Overflow)
PHP :: array_map fails with namespaces

0 件のコメント:

コメントを投稿