PHP には「静的変数」 (static 変数) と呼ばれる言語仕様があります。概要は PHP マニュアルの以下のページ PHP: 変数のスコープ - Manual を参照してください。 マニュアルでは関数内で使った場合の例しか載っていなかったので、クラスメソッド・インスタンスメソッド・trait などに使用した場合にどうなるのか調べてみました。 結論は、簡単に言うと クラス毎に独立 インスタンス間で共通 となっています。 検証過程 関数で使用した場合 これは PHP マニュアルに載っている例と同じです。関数を呼び出すたびに $num が 1 ずつ増加します。(PHP 5.1.0 - 5.5.13 で確認) <?php function testFunc() { static $num = 0; $num++; echo __FUNCTION__ . $num . PHP_EOL; } t
![PHPの静的変数 (static変数) の挙動まとめ - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/5573efc6a5c015c87f4d23b26ac5334e2fa31542/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9UEhQJUUzJTgxJUFFJUU5JTlEJTk5JUU3JTlBJTg0JUU1JUE0JTg5JUU2JTk1JUIwJTIwJTI4c3RhdGljJUU1JUE0JTg5JUU2JTk1JUIwJTI5JTIwJUUzJTgxJUFFJUU2JThDJTk5JUU1JThCJTk1JUUzJTgxJUJFJUUzJTgxJUE4JUUzJTgyJTgxJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz02MmM1Mzk5ZjlkNWI3ZjlmYzYxOTk5N2Y1OTlmNDljMg%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwdHJhc2h0b3kmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWJkYjQ4N2E5NmFhNWVhNjU4MjBjNDc5ZmY1OTdhMTk0%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Ddf8937c7ce85aee2f416f2c398108255)