-1

これをループしようとしています

public static function CSS() {

        $filenames = array(
            "css/tableStyles.css"=>"function1()",
            "css/resetCSS.css"=> "function2()"
        );
        foreach ($filenames as $filename=>$method){
            CSS::$method;
        }


    }

   public function1(){
//do something
   }


   public function2(){
//do something else
   }

}

実行時エラーが発生します。任意のヒント?

編集:arxanasに感謝します

答えは:

$filenames = array(
                "css/tableStyles.css"=>"function1",
                "css/resetCSS.css"=> "function2"
            );
            foreach ($filenames as $filename=>$method){
                CSS::$method();
            }
4

3 に答える 3

4

CSS::function1存在しますか?あなたはそれを示していません。いずれにせよ、 があるところに括弧を付けるべきではありませんfunction1()。代わりに使用

$filenames = array(
    "css/tableStyles.css"=>"function1",
    "css/resetCSS.css"=> "function2"
);
foreach ($filenames as $filename=>$method){
    CSS::$method();
}
于 2012-08-27T14:28:01.313 に答える
1

function1 と function2 を static として定義する必要があります。

    public static function1(){
//do something
   }


   public static function2(){
//do something else
   }
于 2012-08-27T14:29:22.643 に答える
0

静的メソッドから非静的メソッドを呼び出すことはできません。静的メソッドを定義function1して好きにする必要があります。function2また、メソッドではなくプロパティを呼び出します。

public static function CSS() {

        $filenames = array(
            "css/tableStyles.css"=>"function1()",
            "css/resetCSS.css"=> "function2()"
        );
        foreach ($filenames as $filename=>$method){
            CSS::$method();
        }


    }

   public static function1(){
//do something
   }


   public static function2(){
//do something else
   }

}
于 2012-08-27T14:31:01.927 に答える