私は次のようなループを持っています
$items = array(10, 12, 13, 23, 34, 32, 11, 98);
$items_single = array();
foreach ($items as $item) {
$item_data = "SELECT * FROM MY_TABLE WHERE ITEM_ID = $item";
// Don't worry, this is just a demo query, I don't query like this
array_push($items_single, $item_data);
unset($item_data);
// $item_data = NULL;
}
$item_data
メモリを解放するより良い方法はどれですか? unset()
より論理的に思えますが、このようにphpはすぐに設定を解除するつもりはないと思いますが、ループの後に呼び出される可能性のあるガベージコレクションのようなものを配置します... ? unset()
(そもそも持つ目的に失敗します)。while= NULL
は理想的なことをしているように見えますが、一定の時間がかかり、実際にはループが遅くなる可能性があります。
また、何もしなければ、php は毎回新しい変数を作成し (メモリを消費します)、古い変数を削除して新しい変数に置き換えようとします (このように動作すると思います)。 .