• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:class内部でarray_mapをつかうとき、なぜこのような記述をしなければならないのでしょうか?)

class内部でarray_mapをつかうとき、なぜこのような記述をしなければならないのでしょうか?

このQ&Aのポイント
  • PHP Version 5.1.6 の環境で、class内部でarray_mapを使用する際に、正しい記述方法がわからないためエラーが発生しています。
  • エラーメッセージを調べると、array_mapの第一引数には有効なコールバック関数を指定する必要があるということが分かりました。
  • 解決策として、array_mapに渡すコールバック関数を静的なクラスメソッドとして指定する必要があります。これによりエラーが解消されます。

質問者が選んだベストアンサー

  • ベストアンサー
  • Werner
  • ベストアンサー率53% (395/735)
回答No.1

あなたが見つけたページにちゃんと書いてあるようですけど? http://jp.php.net/manual/ja/language.pseudo-types.php#language.types.callback より引用。 | オブジェクトのインスタンスを渡すための方法の 1 つは、 オブジェクトを 0 番目の要素、 | メソッド名を 1 番目の要素として含む配列を渡すことです。 | 静的なクラスメソッドの場合、 0 番目の要素としてオブジェクトを渡す代わりにクラス名を渡すことにより、 | オブジェクトのインスタンスを作成せずに渡すことができます。 コールバック関数が静的クラスメソッドならそのような書き方をすべしとちゃんと書かれてます。 (そのすぐ下に例まで載ってます。)

daisuke_dm
質問者

お礼

ご回答ありがとうございます。 すみません、見逃してしまいました。 やっと理解しました。 どうもありがとうございました。

関連するQ&A