1
<?php

class MyClass
{
    static function test()
    {
        echo "Victor";
    }

    static function result()
    {
        echo "My name is ".self::test();
    }
}

MyClass::result();

?>

なぜself::test()コマンドの残りの部分の前に実行されるのか、またはその逆であるのか混乱しています。コメントありがとうございます。

4

1 に答える 1

1

エコーアウトする必要がある文字列を取得するには、「準備」する必要があるためです。したがって、出力の前に、その戻り値が何であるかを知る必要があります。最初に実行され、その結果が文字列に含まれます。実際には、self::test();値は返されませんが、テキストがエコーアウトされます。

于 2012-05-08T07:59:23.183 に答える