12

PHP 関数で使用される変数/配列に関して質問があります。関数を実行した後、すべての変数は自動的に設定解除されますか? そうでない場合、PHPページ全体を実行した後、いつ正確に設定を解除しますか? 一定時間後?

関数の最後で関数で使用されているすべての変数の設定を解除して、メモリから解放すると便利ですか?

あなたの助けとコメントを前もってありがとう!

4

3 に答える 3

9

関数で定義および使用されるローカル変数は、関数の実行後に自動的に設定解除されません。むしろ、それらはガベージ コレクターによって収集されるようにマークされます。ローカル変数の定義で大量のメモリを消費していない限り、それらを明示的に設定解除する必要はありません。ガベージコレクターに仕事をさせてください。

于 2011-04-06T04:01:14.443 に答える
1

うん、関数の内側でグローバルとして宣言されていないものは、関数の外には存在しません。関数が実行されると、値はもはや mem にありません。

PHP: 変数のスコープ

于 2011-04-06T04:03:29.047 に答える
0

はい、スコープが終了すると割り当てが解除されます(関数が戻ります)。

メモリが自動的にクリアされるとは思いませんが、追加のメモリが必要になったときにクリアされます。

于 2011-04-06T04:01:17.583 に答える