質問: current($targetFoo); }; return $result; } } ?> ``` ### foo.json ``` [ { "id": 1, "name": "test_1", }, { "id": 2, "name": "test_2", } ] ``` ### index.php ``` ``` エラー内容 ------ > > Fatal error: Uncaught Error: Using $this when not in object context > > > ### selfで呼び出そうとした場合 蛇足かもしれませんが、`self::_scenes`でも確認しました。 > > Fatal error: Uncaught Error: Undefined class constant '_scenes' > > >
回答: selfはクラス内定数にアクセスするときに使えるけど、 $thisとは目的が違うからね。 クラスの外でも、クラス内定数をpublic宣言しておけば参照することはできたりする。 PHP: オブジェクト定数 - Manual array_filter()に与えている無名関数からは$thisのことがわからないので そういうエラーを返しているのかと。 単純変数に一旦入れてからarray_filter()にかければ解決しそうな気がする。