1. ホーム
  2. php

[解決済み] メソッドをarray_map関数として使用できるか

2023-06-21 22:47:41

質問

こんなことをやってみたい

クラス Cls {
  function fun($php) {
    return 'The rain in Spain;
  }
}

ar = array(1,2,3)です。
$instance = new Cls()です。
print_r(array_map('$instance->fun', $ar))。
               // ^ これは動作しません

が、array_mapの第一引数には関数名が入るはずです。 $instance->funの周りにラッパー関数を書くのは避けたいのですが、それは無理そうです。 そうなのでしょうか?

どのように解決するのですか?

はい、このようにメソッドにコールバックを持たせることができます。

array_map(array($instance, 'fun'), $ar)

見る コールバックタイプ は、PHP のマニュアルに記載されています。